Как мне добавить ИЛИ? - PullRequest
0 голосов
/ 29 июня 2019

Я просто хочу сделать что-то другое, если это четверг. Я хотел бы также составить список праздников, и пусть они тоже что-то делают по-другому, кроме четверга, если у меня первый вопрос.

=IF(WEEKDAY(E3,2)<6, "Wake up", "Sleep")

Ответы [ 5 ]

1 голос
/ 29 июня 2019

ИЛИ не является ни необходимым, и без него мне кажется немного аккуратнее:

=IF(COUNTIF(Holiday,E3),"Other",IF(WEEKDAY(E3)=5,"Remote",IF(WEEKDAY(E3,2)>5,"Sleep","Wake up")))

Holiday является именованным диапазоном для дат что-то другое .

0 голосов
/ 01 июля 2019

Я знаю, что вы спрашивали об использовании OR и уже приняли ответ, но я хотел бы отметить, что вы также можете использовать VLOOKUP, чтобы сделать вашу логику более ясной и более читаемой.

Сначала вы можете создать таблицу дней недели и значений поиска, например:

+---+-----+-----------+---------+
|   |  A  |     B     |    C    |
+---+-----+-----------+---------+
| 1 | nbr | weekday   | alarm   |
| 2 | 1   | Sunday    | Sleep   |
| 3 | 2   | Monday    | Wake Up |
| 4 | 3   | Tuesday   | Wake Up |
| 5 | 4   | Wednesday | Wake Up |
| 6 | 5   | Thursday  | Remote  |
| 7 | 6   | Friday    | Wake Up |
| 8 | 7   | Saturday  | Sleep   |
+---+-----+-----------+---------+

Затем, предполагая, что проверяемая вами дата находится в E3, вы можете использовать следующую формулу:

=VLOOKUP(WEEKDAY(E3,1),$A$2:$C$8,3,FALSE)

Формула становится еще понятнее при преобразовании данных поиска в таблицу и использовании именованного диапазона:

table

named_range

=VLOOKUP(WEEKDAY(date_entered,1),tWeekdays,3,FALSE)
0 голосов
/ 29 июня 2019

Функция OR принимает список параметров, то есть OR(param1, param2, param...).

. Приведенная ниже формула будет выполнять одну операцию ("Пробуждение") каждый день, кроме четверга.

=IF(OR(WEEKDAY(E3,2) < 4, WEEKDAY(E3,2) > 4), "Wake Up", "Sleep")

Используя ваш формат даты (2), где четверг - день 4, он говорит, что если день недели меньше 4 ИЛИ больше 4, произнесите «Проснись», в противном случае произнесите «Сон».

Обновление

Для размещения обновленного исходного вопроса нижеприведенная функция будет:

  • Если дата является выходным, указанным в именованном диапазоне Holiday --> Выходной
  • Если день недели четверг -> Удаленный
  • Если день недели суббота или воскресенье -> Сон
  • Остальное (понедельник, вторник, среда, Пятница) -> Проснись
=IF(COUNTIF(Holidays,A2)>0,"Holiday",IF(WEEKDAY(A2,2)=4,"Remote",IF(OR(WEEKDAY(A2, 2)=6,WEEKDAY(A2, 2)=7),"Sleep","Wake Up")))

Обратите внимание, что я также указал пятницу 7/5 как выходной.

Sample data

0 голосов
/ 29 июня 2019

Это будет работать:

=IF(OR(WEEKDAY(E3,2)<3,WEEKDAY(E3,2)=5),"Remote",IF(WEEKDAY(E3,2)=4,"Sleep","Wake up"))
  • Понедельник, вторник, среда, пятница - удаленный
  • Четверг - сон
  • Сб, Солнце - проснись
0 голосов
/ 29 июня 2019

Вы можете использовать функцию OR(c1,c2,...), которая оценивается как Истина, когда любое из ее условий аргумента является истинным.Например,

=IF(OR(WEEKDAY(E3,2)=1,WEEKDAY(E3,2)=2,...), "Wake up", IF(OR(...), "Sleep", "Remote"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...