Однако, не работает для ОГРН ИП с количеством символов 15. Формула остается той же, (т.к. алгоритм один), за исключением числа-делителя, в формуле для ИП он равен 13, а не 11.
Однако, не работает для ОГРН ИП с количеством символов 15. Формула остается той же, (т.к. алгоритм один), за исключением числа-делителя, в формуле для ИП он равен 13, а не 11.
Kostya94, а файлик для потренироваться приложите? В общем же виде ОСТАТ() тупо не работает с пятнадцатизначными числами и её нужно будет заменять функцией ЦЕЛОЕ()
Kostya94, а файлик для потренироваться приложите? В общем же виде ОСТАТ() тупо не работает с пятнадцатизначными числами и её нужно будет заменять функцией ЦЕЛОЕ()buchlotnik
Сообщение отредактировал buchlotnik - Пятница, 03.11.2017, 12:32
_Boroda_, проверка на длину строки у меня берётся из условия ввода ячейки. т.е. вывожу первую вашу формулу по условию верного ОГРН с длиной значения в 15 символов. ДЛСТР считает количество символов и условие ввода данных в ячейку считывает значение ДЛСТР, которое равно 15-ти. Таким образом даже ввести не получится некорректное значение в ячейку ОГРН.
пример файла, может можно сделать по-уму.
_Boroda_, проверка на длину строки у меня берётся из условия ввода ячейки. т.е. вывожу первую вашу формулу по условию верного ОГРН с длиной значения в 15 символов. ДЛСТР считает количество символов и условие ввода данных в ячейку считывает значение ДЛСТР, которое равно 15-ти. Таким образом даже ввести не получится некорректное значение в ячейку ОГРН.
_Boroda_, Добрый день. Когда тестил формулу, заметил, что некоторые ОГРНИП не проходят под проверку, хотя они явно валидны. Например: 304500116000157 - корректный проходит. 304463210700212 - корректный не проходит, по формуле. Оба взяты из вики со статьи "Контрольное число" с примерами расчета и так немного потестил на реальной базе, часть корректных ОГРНИП не проходит проверку.
Может есть идеи, почему так происходит? Может быть алгоритм генерации огрнип был когда-то другой, хотя я информации не нашел.
_Boroda_, Добрый день. Когда тестил формулу, заметил, что некоторые ОГРНИП не проходят под проверку, хотя они явно валидны. Например: 304500116000157 - корректный проходит. 304463210700212 - корректный не проходит, по формуле. Оба взяты из вики со статьи "Контрольное число" с примерами расчета и так немного потестил на реальной базе, часть корректных ОГРНИП не проходит проверку.
Может есть идеи, почему так происходит? Может быть алгоритм генерации огрнип был когда-то другой, хотя я информации не нашел.Kostya94
Если кому-то понадобится, дополнил формулу выше, добавил проверку. Иногда остаток в контрольной сумме был двузначным значением, от чего проверка выдавала неверный результат. Поправил, добавив ПРАВСИМВ. Формула для ОГРНИП:
Если кому-то понадобится, дополнил формулу выше, добавил проверку. Иногда остаток в контрольной сумме был двузначным значением, от чего проверка выдавала неверный результат. Поправил, добавив ПРАВСИМВ. Формула для ОГРНИП: