Пишет сообщение в excel
Обновлено: 07.07.2024
в LibreOffice есть условное форматирование, пока я настроил проверку ячейки не пустоту и чтобы общая длина текста в ней была =8 для полной даты, я бы написал регулярку, вроде можно (не разбирался только еще), но не уверен что Excel ее поймет, потому что у операторов Excel
Смысл условного форматирования, если контент ячейки не верный (определяется формой в условном форматировании), то ячейка подсвечивается красным фоном. И в Excel это вроде как тоже работает.
Но вот выходит что условие "чтобы общая длина текста в ней была =8" слишком мало, т.к. ошибок больше.
PS: проблема еще в том что у меня LibreOffice а у операторов Excel разношерстный , начиная с Excel 2003
- Вопрос задан более года назад
- 253 просмотра
Уже сделал через ЕСЛИОШИБКА:
т.е. если не дата возвращается 1, если дата то 0
это для условного форматирования.
UPDATE:
В Excel 2003 нет функции ЕСЛИОШИБКА (файл открывается как поврежденный, условное форматирование "слетает"), но есть ЕОШИБКА и она есть и в LibreOffice и в более старших Excel
формула для условного форматирования и подсветки ячеек с некорректной датой будет такой:
для подсветки пустых ячеек, дат с неполным годом, некорректно введенных дат - так:
Тогда он не даст ввести некорректную дату, но тут уже зависит от того, не взбунтуются ли вводящие данные от такой строгости.
т.е. если не дата возвращается 1, если дата то 0
это для условного форматирования.
З.ы. также советую вставить date picker (в сети есть готовые формы с макросами) для выбора даты из имеющегося "всплывающего календаря". Так упростите задачу не только себе, но и пользователям
мне нужна было формулой, для условного форматирования.
datepicker - во первых неудобно! отмотайте ка в нем с текущей даты скажем на 13.06.1949 ?? запаритесь крутить - это очень сильно замедляет процесс ввода! ну и он разве есть в Excel 2003 и/или LibreOffice ??
Прежде чем отлавливать ошибку попробуйте сделать так, чтобы этих ошибок не было
вы вопрос читали?
"ошибки" возникают при вводе операторами, т.к. они ОЧЕНЬ невнимательны и вводят данные некорректно, например дату через запятую - 24,03,2020 !?
Исправление ошибок определенных функций
Ваша функция не отображается в этом списке? Попробуйте другие решения, перечисленные ниже.
Проблемы с вычитанием
Если вы раньше не работали в Excel, вероятно, вы неправильно вводите формулу вычитания. Это можно сделать двумя способами:
Вычтите одну ссылку на ячейку из другой
Введите два значения в двух отдельных ячейках. В третьей ячейке вычтите одну ссылку на ячейку из другой. В этом примере ячейка D2 содержит плановую сумму, а ячейка E2 — фактическую. F2 содержит формулу =D2-E2.
Или используйте функцию СУММ с положительными и отрицательными числами
Введите положительное значение в одной ячейке и отрицательное — в другой. В третьей ячейке используйте функцию СУММ, чтобы сложить две ячейки. В этом примере ячейка D6 содержит плановую сумму, а ячейка E6 — фактическую как негативное число. F6 содержит формулу =СУММ(D6;E6).
В Windows откройте панель управления "Региональные стандарты".
Windows 10. Встроке поиска введите регион и выберите панель управления Региональные стандарты.
Windows 8. На начальном экране введите регион, щелкните Параметры и выберите пункт Региональные стандарты.
На вкладке Форматы нажмите кнопку Дополнительные параметры.
Найдите пункт Разделитель элементов списка. Если в поле разделителя элементов списка указан знак "минус", замените его на что-то другое. Например, разделителем нередко выступает запятая. Также часто используется точка с запятой. Однако для вашего конкретного региона может подходить другой разделитель элементов списка.
Если там, где для вычитания должны быть знаки "минус", стоят запятые, замените их на знаки "минус".
Нажмите клавишу ВВОД.
Повторите эти действия для других ячеек, в которых возникает ошибка.
Вычтите одну ссылку на ячейку из другой
Введите две даты в двух отдельных ячейках. В третьей ячейке вычтите одну ссылку на ячейку из другой. В этом примере ячейка D10 содержит дату начала, а ячейка E10 — дату окончания. F10 содержит формулу =E10-D10.
Или используйте функцию РАЗНДАТ
Введите две даты в двух отдельных ячейках. В третьей ячейке используйте функцию РАЗНДАТ, чтобы найти разницу дат. Дополнительные сведения о функции РАЗНДАТ см. в статье Вычисление разницы двух дат.
Растяните столбец по ширине. Если значение выравнивается по правому краю — это дата. Но если оно выравнивается по левому краю, это значит, что в ячейке на самом деле не дата. Это текст. И Excel не распознает текст как дату. Ниже приведены некоторые решения, которые помогут решить эту проблему.
Проверка наличия начальных пробелов
Дважды щелкните дату, которая используется в формуле вычитания.
Разместите курсор в начале и посмотрите, можно ли выбрать один или несколько пробелов. Вот как выглядит выбранный пробел в начале ячейки:
Если в ячейке обнаружена эта проблема, перейдите к следующему шагу. Если вы не видите один или несколько пробелов, перейдите к следующему разделу и проверьте параметры даты на компьютере.
Выделите столбец, содержащий дату, щелкнув его заголовок.
Выберите Данные > Текст по столбцам.
Дважды нажмите кнопку Далее.
На шаге 3 из 3 в мастере в разделе Формат данных столбца установите переключатель дата.
Выберите формат даты и нажмите кнопку Готово.
Повторите эти действия для других столбцов, чтобы убедиться, что они не содержат пробелы перед датами.
Проверка параметров даты на компьютере
Excel полагается на систему дат вашего компьютера. Если дата в ячейке введена в другой системе дат, Excel не распознает ее как настоящую дату.
Например, предположим, что компьютер отображает даты в формате мм.дд.гггг. Если ввести такую дату в ячейке, Excel распознает ее как дату, а вы сможете использовать ее в формуле вычитания. Однако если ввести дату в формате мм.дд.гг, Excel не распознает ее как дату. Вместо этого дата будет рассматриваться как текст.
Существует два решения этой проблемы: Вы можете изменить систему дат, которая используется на компьютере, чтобы она соответствовала системе дат, которая нужна в Excel. Или в Excel можно создать новый столбец и использовать функцию ДАТА, чтобы создать настоящую дату на основе даты в текстовом формате. Вот как это сделать, если система дат вашего компьютера — дд.мм.гггг, а в ячейке A1 записан текст 12/31/2017.
Создайте такую формулу: =ДАТА(ПРАВСИМВ(A1;4);ЛЕВСИМВ(A1;2);ПСТР(A1;4;2))
Результат будет 31.12.2017.
Чтобы использовать формат дд.мм.гг, нажмите клавиши CTRL+1 (или + 1 на Mac).
Выберите другой языковой стандарт, в котором используется формат дд.мм.гг, например Немецкий (Германия). После применения формата результат будет 31.12.2017, причем это будет настоящая дата, а не ее текстовая запись.
Примечание: Формула выше написана с использованием функций ДАТА, ПРАВСИМВ, ПСТР и ЛЕВСИМВ. Обратите внимание, что формула записана с учетом того, что в текстовой дате используется два символа для дней, два символа для месяцев и четыре символа для года. Возможно, вам понадобится откорректировать формулу под свою запись даты.
Проблемы с пробелами и текстом
1. Выберите ячейки, на которые указывают ссылки
Найдите ячейки, на которые ссылается формула, и выделите их. Во многих случаях рекомендуется удалить пробелы для всего столбца, так как можно заменить несколько пробелов одновременно. В этом примере, если щелкнуть E, выделится весь столбец.
2. Найдите и замените
На вкладке Главная щелкните Найти и выделить > Заменить.
3. Удалите пробелы
В поле Найти введите один пробел. Затем в поле Заменить удалите все, что там может быть.
4. Замените одно или все вхождения
5. Включите фильтр
Иногда из-за скрытых символов (а не просто пробелов) ячейка может выглядеть пустой, хотя на самом деле таковой не является. Например, это может происходить из-за одинарных кавычек в ячейке. Чтобы убрать эти символы из столбца, включите фильтр, последовательно выбрав Главная > Сортировка и фильтр > Фильтр.
6. Установите фильтр
Щелкните стрелку фильтра и снимите флажок Выделить все. Затем установите флажок Пустые.
7. Установите все флажки без названия
Установите все флажки, напротив которых ничего не указано, как на этом рисунке.
8. Выделите пустые ячейки и удалите их
Если Excel вернет пустые ячейки, выделите их. Затем нажмите клавишу DELETE. Все скрытые символы в ячейках будут удалены.
9. Очистите фильтр
Щелкните стрелку фильтра и выберите команду Удалить фильтр из. для отображения всех ячеек.
10. Результат
Примечание: В этом примере обратите внимание, что ячейка E4 содержит зеленый треугольник, а число выравнивается по левому краю. Это значит, что число имеет текстовый формат. Это может вызвать проблемы в дальнейшем. Если вы заметили эту проблему, рекомендуем преобразовать числа из текстового формата в числовой.
Этот же пример с функцией ЕТЕКСТ
Здесь в столбец F добавлена функция ЕТЕКСТ. Все ячейки в порядке, кроме одной со значением ИСТИНА. Это значит, что ячейка E2 содержит текст. Чтобы решить эту проблему, можно просто удалить содержимое ячейки и еще раз ввести число 1865,00. Вы также можете использовать функцию ПЕЧСИМВ, чтобы убрать символы, или функцию ЗАМЕНИТЬ, чтобы заменить специальные знаки на другие значения.
Использовав функцию ПЕЧСИМВ или ЗАМЕНИТЬ, вы можете скопировать результат в буфер обмена, а затем выбрать Главная > Вставить > Специальная вставка > Значения. Кроме того, может потребоваться преобразовать числа из текстового формата в числовой.
На примере посмотрим, как установить ограничение на количество вводимых символов в ячейку.
Выделим ячейку, в которой будем настраивать ограничение (в нашем примере это ячейка E6). Щелкаем по вкладке «Данные» -> «Проверка данных».
В открывшемся диалоговом окне проверки данных выбираем вкладку «Параметры». Здесь вы можете выбрать условие проверки. Это может быть целое число, десятичное, дата, время, длина текста и т.д.
В нашем случае необходимо установить ограничение по длине вводимых символов. Символов должно быть не больше 10. Из выпадающего списка выбираем «Длина текста». Если вы не хотите, чтобы ограничение распространялось на пустые ячейки, поставьте галочку в «Игнорировать пустые ячейки».
Читайте также: