ИНН – идентификационный номер налогоплательщика – присваивается физическим и юридическим лицам. Такие обозначения есть у граждан России, Украины и Беларуси (УНП, ИН). Аналоги существуют у граждан многих других государств.
В данном коде «спрятана» информация о дате рождения, поле человека, коде налоговой (для российских номеров).
Алгоритм расшифровки ИНН в Excel
Идентификационный номер налогоплательщика – это 10 (для юридических) или 12 (для физических лиц) цифр, которые содержат следующую информацию (слева направо):
- код налоговой инспекции, присвоившей ИНН (4 цифры);
- порядковый номер записи в едином государственном реестре налогоплательщиков территориального налогового органа (5 цифр – для организаций, 6 – для физических лиц);
- контрольное число, полученное в ходе применения специального алгоритма (для юридических лиц – 1 цифра, для физических – 2).
Алгоритм проверки ИНН предложен в сервисе «Консультант».
Для десятизначного цифрового кода:
- Найти контрольную сумму с весовыми коэффициентами 2, 4, 10, 3, 5, 9, 4, 6, 8, 0.
- Вычислить частное контрольной суммы и 11. Остаток от деления – контрольное число.
- Если результат предыдущего действия больше 9, то делим его на 10. Остаток от деления – контрольное число.
- Код налогоплательщика считается правильным, если контрольное число совпадает с десятым знаком идентификационного номера.
Для двенадцатизначного кода:
- Найти сумму первых одиннадцати знаков с весовыми коэффициентами 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0.
- Контрольное число – остаток от частного суммы и 11.
- Если результат деления больше 9, то находим остаток от частного контрольного числа и 10. Получаем первое контрольное число.
- Найти сумму 12 чисел с весовыми коэффициентами 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0.
- Остаток от частного второй контрольной суммы и 11 – второе контрольное число.
- Если оно больше 9, то находим остаток от деления на 10.
- Первое контрольное число правильного ИНН совпадает с 11 знаком номера, второе – с 12.
Проверку правильности ИНН лучше автоматизировать. Неизвестно, реально существующий контрагент выставляет счет к оплате или мошенник. Данная проблема особенно актуальна на крупных предприятиях.
Есть готовые функции для проверки актуальности идентификационного номера: для 10 знаков и для 12. Проверить правильность указания ИНН можно с помощью данной функции.
Реализуем алгоритм проверки с помощью встроенных функций Excel:
- Список номеров введем в столбец А. Перед каждым номером ставим апостроф:
- В ячейку В1 вводим формулу Копируем ее на весь столбец.
Реальные ИНН – «истина», неправильные – «ложь». Данная формула работает только в отношении десятизначных номеров. Если организация работает с физическими и юридическими лицами, то в базу будут заноситься 10-тизначные и 12-тизначные коды.
Для проверки подлинности применим следующую формулу:
Просто копируйте и вставляйте – формула рабочая.
Дата рождения по ИНН (Россия) в Excel
Для физических лиц ИНН включает 12 цифр:
ХХХХZZZZZZYY;
где ХХХХ – данные о налоговой инспекции;
ZZZZZZ – порядковый номер налогоплательщика;
YY – контрольный код.
Налогоплательщик получает порядковый номер, когда становится на учет в ФНС. Привязки к дате рождения нет.
Дата рождения по ИНН (Украина) в Excel
Идентификационный номер налогоплательщиков Украины состоит из 10 цифр. Первые 5 – количество дней, которые прошли с 01.01.1900 до рождения.
Например, человек родился 20.09.1976. Первые пять цифр – 28022. Столько дней до его рождения с 31.12.1899 года.
Чтобы найти дату рождения по первым пяти цифрам 28022, нужно 01.01.1900 + 28022 (дней) = 20.09.1976.
Воспользуемся табличным процессором Excel для извлечения даты рождения из идентификационного кода.
Чтобы найти дату рождения, нужно ввести в соседнюю ячейку пять первых цифр плюс 1. И установить формат «Дата». Сделать это можно с помощью ряда функций. Подойдут формулы:
- =ЗНАЧЕН(ЛЕВСИМВ(ТЕКСТ(A2;0);5))+1
- =ЛЕВСИМВ(A2;5)+1
- =ПСТР(A2;1;5)+1
Все три варианта выдают одинаковые результаты.
Данный алгоритм срабатывает не всегда. Четыре цифры за датой рождения в ИНН – порядковый номер плательщика в налоговой службе. Формируется он по мере поступления данных в базу.
Если в какой-то день рождается слишком много людей, то четырех цифр для образования номера не хватает. В данном случае номер начинается с 7 или 8. Цифра указывает на будущее время – алгоритм определения даты неприменим.
Дата рождения по ИНН (Беларусь) в Excel
Граждане Беларуси при постановке на учет в налоговых органах получают УНП (учетный номер плательщика). Это девятизначный код, где:
- первая цифра обозначает регион (у физ. лиц – буква);
- вторая-восьмая – порядковый номер плательщика;
- девятая – контрольная.
С датой рождения УНП не связан.
Зато по идентификационному (личному) номеру, который есть у каждого в паспорте, можно определить дату рождения.
Структура:
- первая цифра – пол;
- вторая-седьмая – день, месяц и год;
- буква – код региона;
- три цифры за буквой – порядковый номер лица, обратившегося за паспортом;
- две буквы – признак гражданства;
- последняя цифра – контрольная.
Чтобы быстро извлечь дату из личного номера, можно использовать функцию =ПСТР(A2;2;6).
скачать алгоритм расшифровки ИНН в Excel
Проверка ИНН 10 знаков
Проверка ИНН 12 знаков
Формула алгоритма проверки ИНН в Excel
С идентификационными номерами приходится работать бухгалтерам, инженерам по кадрам и другим специалистам. В некоторых организациях такая информация представлена тысячами значений. Обрабатывать вручную и принимать в базу такие коды бесконтрольно – нехорошо. Ряд процессов можно автоматизировать простейшими средствами Microsoft Excel.
Ребята вы гении спасибо, но есть еще проблема, в списке есть 10-ти значные и 12-ти значные ИНН, а алгоритм для 12-ти значного другой
алгоритм проверки ИНН 12 знаков.
1. Вычисляется контрольная сумма по 11-ти знакам со следующими весовыми коэффициентами: (7,2,4,10,3,5,9,4,6,8,0)
2. Вычисляется контрольное число(1) как остаток от деления контрольной суммы на 11
3. Если контрольное число(1) больше 9, то контрольное число(1) вычисляется как остаток от деления контрольного числа(1) на 10
4. Вычисляется контрольная сумма по 12-ти знакам со следующими весовыми коэффициентами: (3,7,2,4,10,3,5,9,4,6,8,0).
5. Вычисляется контрольное число(2) как остаток от деления контрольной суммы на 11
6. Если контрольное число(2) больше 9, то контрольное число(2) вычисляется как остаток от деления контрольного числа(2) на 10
7. Контрольное число(1) проверяется с одиннадцатым знаком ИНН и контрольное число(2) проверяется с двенадцатым знаком ИНН.
В случае их равенства ИНН считается правильным.
Возможно ли их распознавать и 12-ти значные проверять другим алгоритмом.
Проверка ввода ИНН (и других реквизитов) в ячейку |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Заказчик поставил задачу на создание формы InfoPath 2010 для Sharepoint
форма содержит набор полей которые можно увидеть на скриншоте, среди них стоит отметить поле ИНН
Ранее не приходилось делал проверку полей ИНН и КПП на соответствие.
Правила проверки
Алгоритм проверки ИНН
1.Алгоритм проверки 10-го значного ИНН.
ИНН.10. 1)Находим произведения первых 9-ти цифр ИНН на специальные множители соответственно. 9 множителей ( 2 4 10 3 5 9 4 6 8 ).
ИНН.10. 2) Складываем все 9-ть получившихся произведений.
ИНН.10. 3) Получившуюся сумму делим на число 11 и извлекаем целую часть частного от деления.
ИНН.10. 4) Умножаем получившееся число на 11.
ИНН.10. 5) Сравниваем числа получившиеся на шаге 2 и шаге 4, их разница, и есть контрольное число, которое и должно равняться 10-й цифре в ИНН. (Если контрольное число получилось равным 10-ти, в этом случае принимаем контрольное число равным 0.)
2.Алгоритм проверки 12-го значного ИНН.
ИНН.12. 1)Находим произведения первых 10-ти цифр ИНН на специальные множители соответственно (10-ю цифру принимаем за 0). 10 множителей ( 7 2 4 10 3 5 9 4 6 8 ).
ИНН.12. 2) Складываем все 10-ть получившихся произведений.
ИНН.12. 3) Получившуюся сумму делим на число 11 и извлекаем целую часть частного от деления.
ИНН.12. 4) Умножаем получившееся число на 11. ИНН.12. 5) Сравниваем числа получившиеся на шаге 2 и шаге 4, их разница, и есть первое контрольное число, которое и должно равняться 11-й цифре в ИНН.(Если контрольное число получилось равным 10-ти, в этом случае принимаем контрольное число равным 0.) Если получившееся число не не равно 11-ой цифре ИНН, значит ИНН не верный, если же совпадает, тогда высчитываем следующее контрольное число, которое должно быть равным 12-ой цифре ИНН
ИНН.12. 6)Находим произведения первых 11-ти цифр ИНН на специальные множители соответственно (10-ю цифру принимаем за 0). 11 множителей ( 3 7 2 4 10 3 5 9 4 6 8 ).
ИНН.12. 7) Складываем все 11-ть получившихся произведений.
ИНН.12. Получившуюся сумму делим на число 11 и извлекаем целую часть частного от деления.
ИНН.12. 9) Умножаем получившееся число на 11.
ИНН.12. 10) Сравниваем числа получившиеся на шаге 7 и шаге 9, их разница, и есть контрольное число, которое и должно равняться 12-й цифре в ИНН. (Если контрольное число получилось равным 10-ти, в этом случае принимаем контрольное число равным 0.) Если высчитанное число равно 12-ой цифре ИНН, и на первом этапе все контрольное число совпало с 11-ой цифрой ИНН, следовательно ИНН считается верным.
Формулы вычисляемых полей в Microsoft SharePoint Foundation основаны на функциях и синтаксисе Microsoft Excel
Описание: http://msdn.microsoft.com/ru-ru/library/bb862071(v=office.14).aspx
А это значит что очень много можно сделать без программирования, просто указывая нужные формулы в столбцах.
Правила составления выражений для валидации полей, практически такие же.
Из доступных примеров проверки ИНН в Excel, мне удалось найти следующую формулу, на ресурсах посвященных Excel.
=ЕСЛИ(ДЛСТР(A1)=10;ЕСЛИ(ЕСЛИ(СУММПРОИЗВ((ПСТР(A1;СТРОКА($1:$10);1)*1)*{2:4:10:3:5:9:4:6:8:0})-ЦЕЛОЕ((СУММПРОИЗВ((ПСТР(A1;СТРОКА($1:$10);1)*1)*{2:4:10:3:5:9:4:6:8:0})/11))*11>10;0;СУММПРОИЗВ((ПСТР(A1;СТРОКА($1:$10);1)*1)*{2:4:10:3:5:9:4:6:8:0})-ЦЕЛОЕ((СУММПРОИЗВ((ПСТР(A1;СТРОКА($1:$10);1)*1)*{2:4:10:3:5:9:4:6:8:0})/11))*11)=ПСТР(A1;10;1)*1;"верно";"неверно");ЕСЛИ(СУММПРОИЗВ(ЕСЛИ(ЕСЛИ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{7:2:4:10:3:5:9:4:6:8:0:0})-ЦЕЛОЕ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{7:2:4:10:3:5:9:4:6:8:0:0})/11)*11=10;0;СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{7:2:4:10:3:5:9:4:6:8:0:0})-ЦЕЛОЕ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{7:2:4:10:3:5:9:4:6:8:0:0})/11)*11)=ПСТР(A1;11;1)*1;1;0);ЕСЛИ(ЕСЛИ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{3:7:2:4:10:3:5:9:4:6:8:0})-ЦЕЛОЕ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{3:7:2:4:10:3:5:9:4:6:8:0})/11)*11=10;0;СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{3:7:2:4:10:3:5:9:4:6:8:0})-ЦЕЛОЕ(СУММПРОИЗВ(--(ПСТР(A1;СТРОКА($1:$12);1));{3:7:2:4:10:3:5:9:4:6:8:0})/11)*11)=ПСТР(A1;12;1)*1;1;0))=1;"верно";"не верно"))
Безусловно формула нуждается в переработке и содержит диапазоны, а при их удалении перестает работать.
При этом возможность закончить форму без программирования, остается очень вкусной.
В качестве хаба публикации я также иронично указал, ненормальное программирование, так как пока мне не удалось найти проверку ИНН для Sharepoint.
Вам когда-нибудь приходилось импортировать или вводить в Excel данные, содержащие начальные нули (например, 00123) или большие числа (например, 1234 5678 9087 6543)? Это могут быть номера социального страхования, телефонные номера, номера кредитных карт, коды продуктов, номера счетов или почтовые индексы. Excel автоматически удаляет начальные нули и преобразует большие числа в экспоненциальное представление (например, 1,23E+15), чтобы их можно было использовать в формулах и математических операциях. В этой статье объясняется, как сохранить данные в исходном формате, который Excel обрабатывает как текст.
Преобразование чисел в текст при импорте текстовых данных
Для форматирования отдельных столбцов в виде текста при импорте данных в Excel используйте функцию Получить и преобразовать (Power Query). В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.
-
Откройте вкладку Данные, нажмите кнопку Получить данные и выберите вариант Из текстового/CSV-файла. Если вы не видите кнопку Получить данные, выберите Создать запрос > Из файла > Из текста, найдите нужный файл и нажмите кнопку Импорт.
-
Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.
-
Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.
Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.
-
В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.
-
По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.
Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.
В Excel 2010 и Excel 2013 импортировать текстовые файлы и преобразовывать числа в текст можно двумя способами. Рекомендуется использовать Power Query (для этого нужно скачать надстройку Power Query). Если надстройку Power Query скачать не удается, можно воспользоваться мастером импорта текста. В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.
-
На ленте откройте вкладку Power Query и выберите Получение внешних данных > Из текста.
-
Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.
-
Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.
Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.
-
В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.
-
По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.
Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.
Применение пользовательского формата для сохранения начальных нулей
Если эту задачу необходимо решить в пределах книги, поскольку она не используется другими программами в качестве источника данных, для сохранения начальных нулей можно использовать пользовательский или специальный формат. Этот способ подходит для цифровых кодов, содержащих менее 16 цифр. Цифровые коды также можно отформатировать с использованием дефисов или других знаков препинания. Например, чтобы сделать телефонные номера более удобными для чтения, можно добавить дефисы между международным кодом, кодом области, префиксом и остальными цифрами.
Цифровой код |
Пример |
Пользовательский числовой формат |
---|---|---|
Социальные сети |
012345678 |
000-00-0000 |
Телефон |
0012345556789 |
00-0-000-000-000-0000 |
Почтовый |
00123 |
00000 |
Инструкции
-
Выделите ячейку или диапазон ячеек, которые вы хотите отформатировать.
-
Нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат ячеек.
-
Откройте вкладку Число и в списке Числовые форматы выберите вариант (все форматы), а затем в поле Тип введите формат числа, например 000-00-0000 для кода социального страхования или 000000 для шестизначного почтового индекса.
Совет: Можно также выбрать формат Дополнительный, а затем тип Почтовый индекс, Индекс + 4, Номер телефона или Табельный номер.
Дополнительные сведения о пользовательских кодах см. в статье Создание и удаление пользовательских числовых форматов.
Примечание: Этот способ не позволяет восстановить начальные нули, которые были удалены до форматирования. Он действует только на числа, введенные после применения формата.
Применение функции ТЕКСТ для форматирования
Для преобразования данных в нужный формат можно использовать расположенный рядом с ними пустой столбец и функцию ТЕКСТ.
Цифровой код |
Пример (в ячейке A1) |
Функция ТЕКСТ и новый формат |
---|---|---|
Социальные сети |
012345678 |
=ТЕКСТ(A1;»000-00-0000″) |
Телефон |
0012345556789 |
=ТЕКСТ(A1;»00-0-000-000-0000″) |
Почтовый |
00123 |
=ТЕКСТ(A1;»00000″) |
Округление номеров кредитных карт
Excel с максимальной точностью до 15 значащих цифр, то есть для любого числа, содержащего не менее 16 цифр, например номера кредитной карты, все числа, которые находятся после 15-й цифры, округляются до нуля. В случае числового кода, который составляет 16 цифр или больше, необходимо использовать текстовый формат. Для этого можно сделать одно из двух:
-
Форматирование столбца в виде текста
Выделите диапазон данных и нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат > Ячейки. На вкладке Число выберите формат Текстовый.
Примечание: Этот способ не позволяет изменить числа, которые были введены ранее. Он действует только на числа, введенные после применения формата.
-
Использование апострофа
Перед числом можно ввести апостроф (‘), и Excel будет обрабатывать его как текст.
К началу страницы
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.