Проверка данных Excel с использованием условной проверки - PullRequest
1 голос
/ 21 марта 2019

Я пытаюсь добавить проверку к следующему сценарию ...

Дата, введенная в ячейку A5, должна быть больше даты в ячейке B4 А ТАКЖЕ Оно должно быть меньше даты в ячейке B5, если оно присутствует.

Следующая проверка пользовательских данных не работает ....

=AND(A5>B4,IF(ISBLANK(B5),TRUE,A5<B5))

Хотя я смогу проверить это через VBA, я хотел бы попытаться избежать этого, если это возможно.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

UPDATE

Мне удалось заставить проверку работать, переработав тест ... и сняв флажок "игнорировать пустой" (спасибо за подсказку в ответе ниже).

=AND(A5>B4,IF(B5 <> "",A5<B5, TRUE))

Я предполагаю, что как только ISBLANK вернет значение false, проверка не будет выполнена.

0 голосов
/ 21 марта 2019

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

enter image description here

Мой Excel не на английском, поэтому я постараюсь перевести.

Я выбрал:

  1. Разрешить даты
  2. ВАЖНО : снимите флажок игнорировать пробелы
  3. Данные между
  4. Дата начала = B4+1 (+1, поскольку она должна быть больше чем)
  5. Дата окончания = =(IF(B5="";73050;B5-1))

Да, мы должны использовать формулу как End Date, которая вернет 73050, если B5 пустое. 73050 равняется дате 31 декабря 2099 года (огромный диапазон, как вы можете видеть). Вы можете адаптировать это к вашим потребностям. Вот почему я говорю, что это не самый элегантный способ.

Не будем это проверять. Моя дата в B4 - 01 марта 2019 года. B5 пуста, поэтому дата в A5 должна быть только на больше , чем 01 марта 2019 года.

enter image description here

Работает нормально. Давайте посмотрим, введем ли мы дату , равную или меньшую 01 марта 2019 года, когда b5 пусто .

enter image description here

Это тоже работает. Появляется сообщение об ошибке, и вы не можете сохранить это значение в ячейке.

Теперь, если мы введем дату в B5, правило проверки данных допускает значения только между обеими датами, исключая начальную дату и конечную дату. Давайте посмотрим:

enter image description here

Обратите внимание, что на последнем изображении, которое я тестировал с датой 31 марта 2019. Это недопустимо, потому что B5 равно 21 марта 2019. Но если B5 пусто , да, оно будет разрешено, потому что оно больше B4.

enter image description here

Таким образом, уловка может быть возобновлена ​​в 2 частях:

  1. Если B5 пусто, правила проверки данных допускают даты только между b4 и 31/12/2099
  2. Если B5 не пуст, правила проверки данных допускают даты только между B4 и B5

Это лучшее, что я могу получить. Надеюсь, вы сможете адаптировать его под свои нужды.

...