Контроль длины ИНН
Практический разбор: в реестре контрагентов нужен простой формальный контроль длины ИНН. На примере с контрольным результатом, ошибками и самостоятельным заданием.
=ЕСЛИ(ИЛИ(ДЛСТР(A2)=10;ДЛСТР(A2)=12);"OK";"Проверьте ИНН")=IF(OR(LEN(A2)=10,LEN(A2)=12),"OK","Check tax ID")В русской локализации Excel аргументы чаще разделяются точкой с запятой, а в английской — запятой. При копировании формул учитывайте региональные настройки.
Короткий ответ
Контроль длины ИНН — задача для работы в очистке данных. Практический разбор: в реестре контрагентов нужен простой формальный контроль длины ИНН. Здесь важен не сам синтаксис функции, а проверяемый результат: формула должна одинаково работать на контрольной строке и после обновления исходной таблицы.
Где это применять
Используйте этот приём, когда единица наблюдения — текстовое или числовое поле исходной строки, а данные приходят из источника вроде «импортированная выгрузка». Для «Контроль длины ИНН» до формулы запишите ожидаемый результат словами и укажите, какие поля его определяют. В примере ниже это «ИНН как текст», «Комментарий». Такой порядок особенно полезен при регулярном обновлении: изменение исходной выгрузки не должно незаметно менять смысл показателя.
Пример исходных данных
| ИНН как текст | Комментарий |
|---|---|
| 7707083893 | 10 символов |
| 500100732259 | 12 символов |
| 123456789 | 9 символов |
| 0123456789 | ведущий ноль |
Таблица для «Контроль длины ИНН» специально оставлена небольшой: по ней можно получить контрольный ответ вручную и увидеть, какие поля действительно влияют на формулу.
Формула и контроль результата
Русская версия Excel:
=ЕСЛИ(ИЛИ(ДЛСТР(A2)=10;ДЛСТР(A2)=12);"OK";"Проверьте ИНН")
Английская версия Excel:
=IF(OR(LEN(A2)=10,LEN(A2)=12),"OK","Check tax ID")
Контрольный результат: 10- и 12-символьные строки получают OK; 9-символьная — предупреждение.
Для «Контроль длины ИНН»: Сначала сопоставьте каждый аргумент формулы с конкретным столбцом примера; только после этого копируйте выражение на остальные строки. Особенно важно проверить исходный текст и позицию или разделитель.
Как читать формулу
- Найдите в формуле исходный текст и сопоставьте этот элемент с ячейкой или диапазоном из примера.
- Затем проверьте позицию или разделитель; для функции ИЛИ это определяет, какие данные реально участвуют в ответе.
- Отдельно задайте правило для ситуации: пустые значения и строки с неожиданным форматом.
- Проверьте ссылки после копирования формулы на следующую строку: параметры и справочники не должны сдвигаться случайно.
- Измените одно значение в поле «ИНН как текст» и убедитесь, что меняется только ожидаемая часть результата.
Методический нюанс
Это только контроль длины, не проверка контрольных цифр, существования или статуса налогоплательщика.
Для рабочей методики зафиксируйте это правило рядом с расчётом. Если другой сотрудник не может по двум-трём строкам восстановить, почему запись вошла в «Контроль длины ИНН», значит формула пока документирована недостаточно.
Проверка исходных данных
Проверка «Контроль длины ИНН» должна быть привязана к данным статьи, а не к абстрактному чек-листу. Начните с полей «ИНН как текст», «Комментарий». В этой области отдельно проверьте: сохранение исходного значения; отсутствие потери ведущих нулей; проверка результата после преобразования.
Создайте одну строку, которая заведомо должна участвовать в расчёте, и одну строку, которая заведомо не должна. Для «Контроль длины ИНН» такая пара тестов полезнее десятка визуальных просмотров итоговой таблицы.
Типичные ошибки именно для этой задачи
- Риск 1. Разделитель отсутствует в части строк; проверьте это на примере «Контроль длины ИНН» до массового копирования формулы.
- Риск 2. После очистки теряются значимые символы или ведущие нули; проверьте это на примере «Контроль длины ИНН» до массового копирования формулы.
- Риск 3. Формула рассчитана на один формат, а импорт содержит несколько вариантов; проверьте это на примере «Контроль длины ИНН» до массового копирования формулы.
- Риск 4. В поле «Комментарий» появляется новое значение, которого не было в тестовом примере, а формула продолжает выдавать правдоподобный результат.
Как сделать файл устойчивым
Для регулярного обновления отделите исходные данные от расчётных столбцов и контрольных итогов. Тогда смена выгрузки не потребует ручного исправления десятков формул. Для «Контроль длины ИНН» добавьте рядом минимум два контроля: число строк, участвующих в расчёте, и отдельный индикатор для ситуации «пустые значения и строки с неожиданным форматом». Если показатель анализируется по периоду загрузки, храните этот разрез отдельным полем, а не кодируйте его ручным цветом или положением строки.
Практическое задание
Соберите тестовый набор для «Контроль длины ИНН» из 8–12 строк на основе структуры примера. Сначала вручную подпишите ожидаемый ответ хотя бы для двух строк. Затем примените =ЕСЛИ(ИЛИ(ДЛСТР(A2)=10;ДЛСТР(A2)=12);"OK";"Проверьте ИНН") и сравните Excel с ручным расчётом. После этого добавьте один случай из списка ошибок: разделитель отсутствует в части строк. Финальная проверка — добавить новую строку в источник и убедиться, что расчёт и контроль количества строк обновились без ручного расширения диапазона.
Задание со вторым разрезом
Добавьте анализ по периоду загрузки и сравните его с общим результатом. Затем постройте второй вариант по полю и проверьте, что одна и та же исходная строка не учитывается дважды из-за разного уровня детализации. Для усложнения измените одно пограничное значение так, чтобы ожидаемый статус или итог гарантированно изменился, и заранее запишите новый ответ до пересчёта Excel.
Чек-лист перед использованием в отчёте
Что запомнить
В «Контроль длины ИНН» основная ценность — не длина формулы ИЛИ, а прозрачное правило расчёта. Сначала определите единицу наблюдения и проверяемый ответ, затем автоматизируйте формулой и оставьте контроль для случая «пустые значения и строки с неожиданным форматом». Тогда обновление импортированная выгрузка можно проверить по фактам, а не по тому, выглядит ли итог правдоподобно.
Формулы из статьи
Русская версия Excel
=ЕСЛИ(ИЛИ(ДЛСТР(A2)=10;ДЛСТР(A2)=12);"OK";"Проверьте ИНН")
Английская версия Excel
=IF(OR(LEN(A2)=10,LEN(A2)=12),"OK","Check tax ID")
Что попробовать дальше
- Добавить контроль отсутствующего разделителя применительно к «Контроль длины ИНН».
- Сохранить исходный столбец рядом с очищенным на том же примере.
- Проверить строки на ведущие нули, если расчёт станет регулярным.
- Сравнить показатель по периоду загрузки и полю.
Не знаете, что учить дальше?
Проверьте свой уровень Excel за 7–10 минут
18 рабочих ситуаций покажут сильные стороны и темы, которые дадут вам самый заметный прирост.
Практика по системе
Закрепите формулы на рабочих задачах
В курсах Tablicus теория связана с практикумами, таблицами и автоматической проверкой результата.