Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формула в Excel / 10 сообщений из 10, страница 1 из 1
02.02.2013, 11:38
    #38134652
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Привет, всем!
Хочу оптимально решить следующую задачу:
в ячейке, например, A1 записано некоторое значение
мне нужно проверить, принадлежит ли значение этой ячейки множеству строковых значений, например, {"яблоко", "груша", "апельсин", "лимон"}. Если принадлежит, то присвоить этой ячейке значение "1", если нет, то присвоить "0".

PS.: задачу хотелось бы решить как-то оптимально... т.е. с использованием какой-то формулы для работы со множествами (если такая существует)... естесно я понимаю, что можно нагородить кучу IF'ов и т.д., но прибегать к такому способу очень не хочется.
...
Рейтинг: 0 / 0
02.02.2013, 12:21
    #38134679
Volodshan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
aleksey_sql...
...в ячейке, например, A1 записано некоторое значение...
Если принадлежит, то присвоить этой ячейке значение "1", если нет, то присвоить "0"...

Уточнить бы - что в какой по какому случаю, или замена значения на...
...
Рейтинг: 0 / 0
02.02.2013, 13:31
    #38134710
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Чтобы получить результат в др. ячейке, используйте формулу
Код: plaintext
=ЕСЛИ(ИЛИ(A1={"яблоко";"груша";"апельсин";"лимон"});1;0)
Чтобы присвоить значение этой же ячейке, необходимо использовать макрос (с этой же формулой).
...
Рейтинг: 0 / 0
02.02.2013, 13:32
    #38134711
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Крч :)

Код: plaintext
=--ИЛИ(A1={"яблоко";"груша";"апельсин";"лимон"})
...
Рейтинг: 0 / 0
02.02.2013, 13:41
    #38134716
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Спасибо большое! Но мне хотелось бы получить результат именно в той ячейке, куда записаны данные (т.е. в А1, а не в другой)
...
Рейтинг: 0 / 0
02.02.2013, 17:31
    #38134815
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Тогда макрос - работает с выделенным диапазоном.
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub bb()
Dim c As Range
For Each c In Selection
    c.Value = Evaluate("--OR(" & c.Address & "={""яблоко"",""груша"",""апельсин"",""лимон""})")
Next
End Sub
...
Рейтинг: 0 / 0
02.02.2013, 22:23
    #38134968
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Стесняюсь спросить... а как в виде формулы это прописать?:)
...
Рейтинг: 0 / 0
02.02.2013, 22:31
    #38134974
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
Формула НЕ МОЖЕТ изменить содержимое ячейки, в которой записана.
...
Рейтинг: 0 / 0
04.02.2013, 10:28
    #38135766
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
aleksey_sqlСтесняюсь спросить... а как в виде формулы это прописать?:)да никак! и смысла нет)) excel так не работает.
да и поверьте, в 99,9% случаев ничего не изменится, если вы результат вычислений пропишете в ячейке рядом.

ну, а если совсем уже хочется красоты, то вам вон даже код дали. только привяжите его к событию
Код: vbnet
1.
2.
3.
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
...
Рейтинг: 0 / 0
04.02.2013, 10:34
    #38135769
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула в Excel
думаю, что еще можно поигратьсмя с условным форматированием. только там низя ссылки на диапазоны указывать в формуле, так что, если большая выборка (больше, чем яблоко, груша и тд.), то нормально условаие задать не получится.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формула в Excel / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]