Пользовательская формула проверки данных Excel ограничивает ввод времени, пустым или "-" - PullRequest
0 голосов
/ 16 ноября 2018

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

= ИЛИ (ВРЕМЗНАЧ (ТЕКСТ (Q1248, "чч, мм, сс")), "", "-")

Я получаю предупреждение "Формула в настоящее время оценивается как ошибка" и тогда он отклонит все данные.

Большое спасибо всем, кто может помочь с этим.

1 Ответ

0 голосов
/ 16 ноября 2018

Вам нужно спросить "эта ячейка равна этому значению? Правда или ложь?"

Пробелы игнорируются, если поставить галочку в поле «Игнорировать пустое» в диалоговом окне Проверка данных .

=Q1248=TIMEVALUE(TEXT(Q1248,"hh:mm:ss")) ответит на вопрос Является ли Q1248 равнымв Q1248, когда он принудительно установлен на значение времени?

Проблема возникает, когда он пытается вычислить значение - как текст, отформатированный как время.Он возвращает ошибку # ЗНАЧЕНИЕ.
Если это возможно, ваша формула будет =OR(Q1248=TIMEVALUE(TEXT(Q1248,"hh:mm:ss")),Q1248="-") - соответствует ли Q1248 значению времени или Q1248 равен тире? , но попытается оценить обе частиоператор OR и первая часть возвращают ошибку, поэтому вся формула возвращает ошибку.

Это похоже на проверку данных (без пользовательского форматирования чисел):
=IF(ISNUMBER(Q1250),Q1250=TIMEVALUE(TEXT(Q1250,"hh:mm:ss")),Q1250="-")

Если значение не является числом, то вычисляется вторая часть IF, в противном случае первая часть - и ошибки не возникает.


Как указано, это выиграноне работает, так как проверка данных попытается преобразовать «-» во временное значение, которое приведет к ошибке:

=Q1248=TIMEVALUE(TEXT(Q1248,"hh:mm:ss")) и предоставит ячейке пользовательский числовой формат из hh:mm;"-";"-".
Любое положительное число будет показано как время, 0 или отрицательное число будет отображаться как -.
Просто используйте 0 вместо -, чтобы получить результат, который выпосле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...