Можно ли как-то обработать результат функции = #ЗНАЧ!?
В чем смысл, в некоторых строках колонки с датами при забивке вручную операторы естественно допускают ошибки и где у них месяц 22, где значения разделены запятой и т.п. и т.д.
Мне же из этих ячеек необходимо извлекать данные для загрузки и естественно при неверном формате функция МЕСЯЦ(F425) вернет #ЗНАЧ!
в LibreOffice есть условное форматирование, пока я настроил проверку ячейки не пустоту и чтобы общая длина текста в ней была =8 для полной даты, я бы написал регулярку, вроде можно (не разбирался только еще), но не уверен что Excel ее поймет, потому что у операторов Excel
Смысл условного форматирования, если контент ячейки не верный (определяется формой в условном форматировании), то ячейка подсвечивается красным фоном. И в Excel это вроде как тоже работает.
Но вот выходит что условие "чтобы общая длина текста в ней была =8" слишком мало, т.к. ошибок больше.
Я подумал попробовать извлекать дату из ячейки при условном форматировании и если не получается то подсвечивать, но как ? если функция возвращает #ЗНАЧ! , то ломается вся конструкция формулы.
PS: проблема еще в том что у меня LibreOffice а у операторов Excel разношерстный , начиная с Excel 2003
т.е. если не дата возвращается 1, если дата то 0
это для условного форматирования.
PS: в LibreOffice нет например ЕДАТА и пр., но ЕСЛИОШИБКА есть.
валидация содержимого в ячейке (Данные -> Проверка) в LibreOffice тоже есть, выходит сообщение - "недопустимое значение"
но не знаю будет ли это работать в Excel если сохранить из LibreOffice , формулы в условном форматировании работают.
UPDATE:
В Excel 2003 нет функции ЕСЛИОШИБКА (файл открывается как поврежденный, условное форматирование "слетает"), но есть ЕОШИБКА и она есть и в LibreOffice и в более старших Excel
формула для условного форматирования и подсветки ячеек с некорректной датой будет такой:
=ЕСЛИ(ЕОШИБКА(ДЕНЬ(F2));1;0)
для подсветки пустых ячеек, дат с неполным годом, некорректно введенных дат - так:
Прежде чем отлавливать ошибку попробуйте сделать так, чтобы этих ошибок не было(а уж если это невозможно, то только тогда отлавливайте ошибки).
Вот туториал написать валидатор ячейки на правильную дату: https://www.contextures.com/exceldatavalidationdat...
З.ы. также советую вставить date picker (в сети есть готовые формы с макросами) для выбора даты из имеющегося "всплывающего календаря". Так упростите задачу не только себе, но и пользователям
мне нужна было формулой, для условного форматирования.
datepicker - во первых неудобно! отмотайте ка в нем с текущей даты скажем на 13.06.1949 ?? запаритесь крутить - это очень сильно замедляет процесс ввода! ну и он разве есть в Excel 2003 и/или LibreOffice ??
Прежде чем отлавливать ошибку попробуйте сделать так, чтобы этих ошибок не было
вы вопрос читали?
"ошибки" возникают при вводе операторами, т.к. они ОЧЕНЬ невнимательны и вводят данные некорректно, например дату через запятую - 24,03,2020 !?
(а уж если это невозможно, то только тогда отлавливайте ошибки)
Об этом и был вопрос!
но я его уже решил - функция ЕСЛИОШИБКА