Здравствуйте уважаемые знатоки! Подскажите спомощью какой формулы можно узнать что текст введенный в ячейке А1 является датой? Дата вводится в формате дд.мм.гггг. Спасибо заранее! Power Query, Power Pivot, Power BI и MS Excel спасут мир |
|
китин Пользователь Сообщений: 931 |
ЕЧИСЛО ??? Вполне такой нормальный кинжальчик. Процентов на 100 |
ЕЧИСЛО не подходит, так как в ячейке может быть введено просто чилсо тоже — например 55 Power Query, Power Pivot, Power BI и MS Excel спасут мир |
|
Владимир Пользователь Сообщений: 8196 |
=ЯЧЕЙКА(«формат»;A1)=»D1″ «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
Дело в том, что если в ячейке А1 стереть дату и ввести например текст, то его формат (формат ячейки А1) опять останется ДАТА, что приводит к неправильному результату. Power Query, Power Pivot, Power BI и MS Excel спасут мир |
|
Сергей Пользователь Сообщений: 11251 |
показали бы в примере что проверяете дата для экселя число, если у вас идут данные вперемешку реально число и число (дата) то проблематично что то проверить (мое мнение), один из вариантов отсеивать числа не входящие в диапазон определенных нужных дат и то сомнительно Лень двигатель прогресса, доказано!!! |
Владимир Пользователь Сообщений: 8196 |
#7 24.05.2016 12:15:56
Если Вы не можете поменять формат ячейки, то это совсем другой уже вопрос. А по делу см. файл. Прикрепленные файлы
«..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
||
Владимир! Большое человеческое спасибо!! Power Query, Power Pivot, Power BI и MS Excel спасут мир |
|
Бахтиёр Пользователь Сообщений: 1926 Excel 365 |
#9 24.05.2016 20:36:57
может лучше так?
если ввести текст, среагирует сразу |
||||
vikttur Пользователь Сообщений: 47199 |
Но не среагирует, если ввести число. Например, 2. Это в первых днях начала 1900 года. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Вить, если это число 2 будет в формате даты — не вижу противоречий. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Бахтиёр Пользователь Сообщений: 1926 Excel 365 |
#12 24.05.2016 20:57:54
+1 |
||
vikttur Пользователь Сообщений: 47199 |
#13 24.05.2016 22:39:53
И я не вижу. Но вопрос: нужна ли такая дата автору темы?
|
||||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Вить, так ты же сам правильную фразу и процитировал — узнать является ли значение датой. Изменено: The_Prist — 24.05.2016 22:54:43 Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
vikttur Пользователь Сообщений: 47199 |
Да не об этом предупреждаю! |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Вить, да поняли мы все это, не горячись. Но ведь автор пока этого не просил — откуда нам знать надо оно или нет? Особенно если учесть, что автора вроде как полностью устроил ответ из 7-го сообщения, а мы так — разминаемся Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Если нужно проверить, что введенные данные являются датой с точки зрения Excel и может участвовать в формулах, можно вычитать введенное значение из Сегодня(), если ошибка — значит ввели не дату. Такая формула не зависит от формата ячейки, региональных особенностей и отображения даты. =ЕОШИБКА(СЕГОДНЯ()-A1) Истина — в A1 введена не дата |
|
vikttur Пользователь Сообщений: 47199 |
Сергей Чачин, лишнее это. СЕГОДНЯ — летучая. Да и вообще: логика для восприятия должна быть правильная, а то когда надо видеть ИСТИНА (да, это нужный результат), получаем ЛОЖЬ |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#19 04.12.2020 14:50:33
здесь Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||||
Александр Котол Пользователь Сообщений: 29 |
#20 22.12.2021 15:22:55
Добрый день! Прикрепленные файлы
|
||
Попробуем преобразовать заданное значение в дату. Если это удастся, то будем считать значение датой.
Датам от 01.01.1900 до 31.12.9999 в EXCEL сопоставлены целые положительные числа от 1 до 2958465. Например, дате 25.01.1900 соответствует число 25. Таким образом, число из этого диапазона может быть представлено в виде даты.
Кроме того, EXCEL с помощи функции
ДАТАЗНАЧ()
может преобразовать в дату некоторые текстовые строки. Например, «14-мар-2011» или «2001/3/1» или «21-02-2001» или «‘5 ноябрь 2009». Но, некоторые форматы записи даты EXCEL не понимает: «2011-март-14» или «2009,11,5».
Некоторые значения не могут быть
преобразованы в даты
по определению: 29-02-2007 (2007 год не високосный), 31.09.2011 (31 сентября не бывает).
С помощью функции
=НЕ(ЕОШ(ГОД(A5)))
можно определить является ли значение датой. Функция
ГОД()
пытается преобразовать значение в дату и вернуть ее год. Если у нее это не получается, то возвращается ошибка (см.
файл примера
).
Если ячейки содержат неправильный формат значений – это может привести к ошибочным вычислениям в формулах. Например, вместо типа значения «Дата», ячейка содержит тип значения «Текст». При подготовке больших объемов данных следует выполнить проверку всех типов значений на соответствие определенному формату. Например, таблица заполнялась данными из разных источников где в разный способ фиксировалась дата. С такой таблицей нельзя выполнять различных вычислений. Визуально сложно заметить где в неправильном формате введена неправильная дата с точки зрения программы Excel.
Поиск формата текста вместо даты в Excel
Чтобы быстро найти ошибочные значения в Excel и выделить цветом все ячейки с неправильным форматом, будем использовать условное форматирование. Для примера возьмем простую таблицу:
Поиск и выделение цветом ячеек с неправильным форматом отображения значений:
- Выделите диапазон ячеек A2:A8 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выберите ниже: «Использовать формулу для определения форматируемых ячеек».
- Чтобы найти дату в тексте Excel для поля ввода введите формулу: =ЕТЕКСТ(A2) и нажмите на кнопку «Формат», чтобы задать желаемый цвет заливки для ячеек. Например, зеленый. И нажмите ОК на всех открытых окнах.
Как видно на рисунке все даты в формате текст выделились цветом:
В условиях форматирования мы использовали простую функцию =ЕТЕКСТ(), у которой всего только 1 аргумент – ссылка на проверяемую ячейку. Арес ссылки в аргументе функции ЕТЕКСТ должен быть относительным, так как будет проверятся каждая ячейка выделенного диапазона. Если текущая проверяемая ячейка содержит текст (а не дату) – это неправильное значение Excel. Тогда функция ЕТЕКСТ возвращает значение ИСТИНА и к этой ячейке сразу же присваивается новый формат (зеленая заливка). Название функции ЕТЕКСТ следует читать как сокращение от двух слов: Если ТЕКСТ
Читаем логические функции, которыми можно проверить другие форматы и типы данных в ячейках таким же способом:
- ЕНЕТЕКСТ – если не текст (функция так же позволяет быстро найти дату в тексте Excel);
- ЕЧИСЛО – если число (позволяет быстро находить неправильный формат чисел в Excel);
- ЕОШ – если ошибка;
- ЕОШИБКА – если ошибка;
- ЕСЛИОШИБКА – если ошибка (это не логическая функция, но ее легко оптимизировать под данную задачу);
- ЕПУСТО – если пусто;
- ЕЛОГИЧ – если логическое значение;
- ЕНД – если недоступное значение (#Н/Д);
- ЕНЕЧЁТ – если нечетное значение;
- ЕЧЁТ – если четное значение;
- ЕССЫЛКА – если ссылка;
- ЕФОРМУЛА – если формула.
При желании можете проверить все функции в действии экспериментальным путем.