Используйте функцию «если», чтобы определить конкретные часы - PullRequest
0 голосов
/ 26 июня 2018

У меня есть таблица Excel см. Прикрепленную картинку . Я хочу найти, какие ячейки (строки) содержат определенные часы. Для этого я использовал функцию if:

=IF(B2=HOUR("12:00:00");"xx";"yes") 

Результат был неверным. Как видите, результат «да» соответствует ложному. В чем проблема?

Кроме того, я попытался встроить функцию «и», чтобы выбрать несколько часов, но в сообщении об ошибке Excel выводилось сообщение об ошибке. Формула, которую я пробовал в ячейке B2:

=IF(B2=HOUR(AND("12:00:00";"3:00:00");"xx";"yes"))

сообщение об ошибке:

содержит много условий

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Я думаю, что вы поменялись аргументами в своем сравнении. Согласно документации

[HOUR] возвращает час значения времени

Если мы оценим вашу формулу шаг за шагом, мы получим:

HOUR("12:00:00") -> 12
B2 = 12 -> false
IF(false; "xx"; "yes") -> yes

Чтобы исправить это, измените ваше состояние на HOUR(B2) = 12. Это должно работать в течение одного часа.

Если вы хотите проверить несколько часовых значений, вы можете использовать функцию OR, как отмечено в предыдущем ответе , но с измененными условиями, такими как:

IF(OR(HOUR(B2) = 3; HOUR(B2) = 12); "xx"; "yes")
0 голосов
/ 26 июня 2018

Сначала вы просто не вернули возвращение истинного и возвращение ложного. Попробуйте:

=IF(B2=HOUR("12:00:00");"yes";"xx")

Во-вторых, вы хотите не логическое, а логическое или. И ваше условие: «если B2 - это час, равный 12:00 и 3:00», это не имеет смысла. Вы хотите, чтобы «если B2 - это час, равный 12:00, или B2 - это час, равный 3:00». Это должно выглядеть так:

=IF(OR(B2=HOUR("12:00:00"), B2=HOUR("3:00:00")) ; "yes"; "xx"))

Редактировать: Благодаря Коррат ответ Я могу исправить мой. Час не должен сравниваться вот так. Вы должны использовать функцию HOUR в ячейке, а не в значении.

=IF(OR(HOUR(B2)=12, HOUR(B2)=3) ; "yes"; "xx"))
...