Страницы: 1
RSS
Как проверить является ли данное в ячейке ДАТОЙ без макроса, ISDATE
 
Здравствуйте уважаемые знатоки!

Подскажите спомощью какой формулы можно узнать что текст введенный в ячейке А1 является датой? Дата вводится в формате дд.мм.гггг. Спасибо заранее!
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
ЕЧИСЛО ???
Вполне такой нормальный кинжальчик. Процентов на 100
 
ЕЧИСЛО не подходит, так как в ячейке может быть введено просто чилсо тоже - например 55
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
=ЯЧЕЙКА("формат";A1)="D1"
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Дело в том, что если в ячейке А1 стереть дату и ввести например текст, то его формат (формат ячейки А1) опять останется ДАТА, что приводит к неправильному результату.
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
показали бы в примере что проверяете дата для экселя число, если у вас идут данные вперемешку реально число и число (дата) то проблематично что то проверить (мое мнение), один из вариантов отсеивать числа не входящие в диапазон определенных нужных дат и то сомнительно
Лень двигатель прогресса, доказано!!!
 
Цитата
Самир Мамедов написал:
то его формат (формат ячейки А1) опять останется ДАТА
Если Вы не можете поменять формат ячейки, то это совсем другой уже вопрос. А по делу см. файл.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир! Большое человеческое спасибо!!
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
Цитата
Самир Мамедов написал:
если в ячейке А1 стереть дату и ввести например текст, то его формат (формат ячейки А1) опять останется ДАТА, что приводит к неправильному результату.
может лучше так?
Код
=И(ЯЧЕЙКА("формат";A1)="D1";ЕЧИСЛО(A1))
если ввести текст, среагирует сразу
 
Но не среагирует, если ввести число. Например, 2. Это в первых днях начала 1900 года.
 
Вить, если это число 2 будет в формате даты - не вижу противоречий.
Другой вопрос, что при смене только формата(без изменения данных в ячейке) - формула не сработает.
Предлагаю вариант с подсветкой через УФ - тогда сработает даже при тупом изменении формата. Если не дата - ячейка будет с красной заливкой.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
Вить, если это число 2 будет в формате даты - не вижу противоречий.
+1
 
Цитата
The_Prist написал: если это число 2 будет в формате даты - не вижу противоречий
И я не вижу. Но вопрос: нужна ли такая дата автору темы?
Цитата
Самир Мамедов написал: ...узнать что текст введенный в ячейке А1 является датой
 
Вить, так ты же сам правильную фразу и процитировал - узнать является ли значение датой.
Кто скажет что 02.01.1900 это не дата пусть первым бросит в меня камень ©  :) Мы знаем даты и меньше - благо история летоисчисления начинается у людей куда раньше, чем у Excel.
Однако по-хорошему формула должна выглядеть так:
=И(ЯЧЕЙКА("формат";A1)="D1";ЕЧИСЛО(A1);НЕ(ЕОШ(ПОИСК("??.??.????";ТЕКСТ(A1;"ДД.мм.ГГГГ")))))
тогда будет и формат соблюден и при вводе отрицательных чисел(при системе дат от 1900 года) ячейка будет подсвечена, т.к. текст там дату даже рядом не будет напоминать.
Изменено: The_Prist - 24.05.2016 22:54:43
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Да не об этом предупреждаю!
Добавить проверку на число >= (возможно, и <=) нужной даты
 
Вить, да поняли мы все это, не горячись. Но ведь автор пока этого не просил - откуда нам знать надо оно или нет? Особенно если учесть, что автора вроде как полностью устроил ответ из 7-го сообщения, а мы так - разминаемся :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Если нужно проверить, что введенные данные являются датой с точки зрения Excel и может участвовать в формулах, можно вычитать введенное значение из Сегодня(), если ошибка - значит ввели не дату. Такая формула не зависит от формата ячейки, региональных особенностей и отображения даты.

=ЕОШИБКА(СЕГОДНЯ()-A1)

Истина  - в A1 введена не дата
Ложь - в A1 введена дата
 
Сергей Чачин, лишнее это. СЕГОДНЯ - летучая.
=ЕОШИБКА(-A1)
И при ЛОЖЬ не обязательно дата в ячейке (число ноль, 45625, пусто). Об этом еще в соощении №3 написано.

Да и вообще: логика для восприятия должна быть правильная, а то когда надо видеть ИСТИНА (да, это нужный результат), получаем ЛОЖЬ
 
Цитата
Самир Мамедов написал:
Как проверить является ли данное в ячейке ДАТОЙ без макроса,
Код
=ЛЕВСИМВ(ЯЧЕЙКА("формат";СсылкаНаЯчейку);1) = "D"
здесь
СсылкаНаЯчейку - адрес ячейки, которую нужно проверить
если результат функции ИСТИНА - в проверяемой ячейке дата
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
НЕ(ЕОШ(ПОИСК("??.??.????";ТЕКСТ(A1;"ДД.мм.ГГГГ"))))
Добрый день!
Подскажите, пожалуйста, что делает этот кусок? Я думал ищет по маске, чтобы был формат ДД.мм.ГГГГ, но она не реагирует написано 20.12.20213 или 20.12.2021
Страницы: 1
Наверх