Вам нужно спросить "эта ячейка равна этому значению? Правда или ложь?"
Пробелы игнорируются, если поставить галочку в поле «Игнорировать пустое» в диалоговом окне Проверка данных .
=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
вместо -
, чтобы получить результат, который выпосле.