Сравнение 2 дат для условного форматирования - PullRequest
0 голосов
/ 01 октября 2019

Попытка применить условное форматирование для значений недели в листах Google. У меня есть недельный столбец со значениями 05 / Aug / 2019, 12 / Aug / 2019 и т. Д. Я хочу заполнить одинаковым цветом все значения от 01 до 07 (первая неделя), 08 и 14 (вторая неделя) и т. Д. Мое состояниеоценивается как ложное, однако, я не понимаю, почему.

=IF(VALUE(LEFT(A284, FIND("/",A284) -1)) > 0 & VALUE(LEFT(A284, FIND("/",A284) -1)) <7,TRUE,FALSE)

Значение A284 = 05 / август / 2019

Также я хочу найти весь столбец и применить формулу длядиапазон, но он дает формулу ошибки разбора:

=IF(VALUE(LEFT(A:A, FIND("/",A:A) -1)) > 0 & VALUE(LEFT(A:A, FIND("/",A:A) -1)) <7,TRUE,FALSE)

Есть идеи, как это сделать?

Ответы [ 3 ]

0 голосов
/ 01 октября 2019

Для пользователей Google листов

=AND(VALUE(LEFT($A:$A, 2)) > 0,VALUE(LEFT($A:$A, 2)) < 8)
0 голосов
/ 01 октября 2019

короче:

=(LEFT(A1,2)*1>0)*(LEFT(A1,2)*1<8)

0

0 голосов
/ 01 октября 2019

Часть 1 вопроса:

У некоторых языков программирования может быть привычка использовать & в качестве логического оператора (более вероятно, побитовый оператор И C / Python / Java и т. Д. но ОК, логический оператор в C #), но в формулах Excel это оператор конкатенации строк, поэтому вместо него нужно использовать функцию AND:

=IF(AND(VALUE(LEFT(A284, FIND("/",A284) -1)) > 0, VALUE(LEFT(A284, FIND("/",A284) -1)) <7),TRUE,FALSE)

Вам не нужно использовать оператор If, потому чтоИ самостоятельно создает логическое значение ИСТИНА / ЛОЖЬ:

=AND(VALUE(LEFT(A284, FIND("/",A284) -1)) > 0, VALUE(LEFT(A284, FIND("/",A284) -1)) <7)

Часть 2 вопроса

Чтобы применить условное форматирование ко всему диапазону, вы просто пишетеформула для верхней части диапазона, выберите весь диапазон и добавьте правило условного форматирования, содержащее формулу. Таким образом, если диапазон начинается с A284 и продолжается вниз, приведенная выше формула может быть применена ко всему диапазону.

enter image description here

Примечание

Строго говоря, у вас нет для использования функции AND, вы также можете использовать умножение, чтобы получить значение 0/1, которое одинаково хорошо работает при условном форматировании:

=(VALUE(LEFT(A284, FIND("/",A284) -1)) > 0)* (VALUE(LEFT(A284, FIND("/",A284) -1)) <7)
...