Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расчет контрольной суммы снилс - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчет контрольной суммы снилс (Формулы/Formulas)
Расчет контрольной суммы снилс
Lhonemzathrum Дата: Воскресенье, 25.05.2014, 00:09 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Привет всем, есть вопрос насущный, может кто что подскажет. Есть столбец с девятизначными числами, которые являются значениям снилс, но без контрольных сумм. Реально ли в excel высчитать значения массово для всего столбца? Алгоритм формирования контрольного числа СНИЛС таков (цитирую):
1) Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001—001-998
2) Контрольное число СНИЛС рассчитывается следующим образом:
2.1) Каждая цифра СНИЛС умножается на номер своей позиции (позиции отсчитываются с конца)
2.2) Полученные произведения суммируются
2.3) Если сумма меньше 100, то контрольное число равно самой сумме
2.4) Если сумма равна 100 или 101, то контрольное число равно 00
2.5) Если сумма больше 101, то сумма делится нацело на 101 и контрольное число определяется остатком от деления аналогично пунктам 2.3 и 2.4
Есть мнение, что алгоритмически удобнее сумму не делить нацело на 101, а из суммы циклически вычитать 101 до тех пор, пока остаток от вычитания не будет меньше 102. Хотя по сути это и есть «деление нацело».
Работаю в этой сфере, поэтому вопрос животрепещущий. Подскажите кто знает!


Сообщение отредактировал Lhonemzathrum - Воскресенье, 25.05.2014, 00:09
 
Ответить
СообщениеПривет всем, есть вопрос насущный, может кто что подскажет. Есть столбец с девятизначными числами, которые являются значениям снилс, но без контрольных сумм. Реально ли в excel высчитать значения массово для всего столбца? Алгоритм формирования контрольного числа СНИЛС таков (цитирую):
1) Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001—001-998
2) Контрольное число СНИЛС рассчитывается следующим образом:
2.1) Каждая цифра СНИЛС умножается на номер своей позиции (позиции отсчитываются с конца)
2.2) Полученные произведения суммируются
2.3) Если сумма меньше 100, то контрольное число равно самой сумме
2.4) Если сумма равна 100 или 101, то контрольное число равно 00
2.5) Если сумма больше 101, то сумма делится нацело на 101 и контрольное число определяется остатком от деления аналогично пунктам 2.3 и 2.4
Есть мнение, что алгоритмически удобнее сумму не делить нацело на 101, а из суммы циклически вычитать 101 до тех пор, пока остаток от вычитания не будет меньше 102. Хотя по сути это и есть «деление нацело».
Работаю в этой сфере, поэтому вопрос животрепещущий. Подскажите кто знает!

Автор - Lhonemzathrum
Дата добавления - 25.05.2014 в 00:09
AlexM Дата: Воскресенье, 25.05.2014, 00:43 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Покажите файл с СНИЛС и их контрольные суммы. По вашим значениям будут проверяться полученные формулы.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПокажите файл с СНИЛС и их контрольные суммы. По вашим значениям будут проверяться полученные формулы.

Автор - AlexM
Дата добавления - 25.05.2014 в 00:43
MCH Дата: Воскресенье, 25.05.2014, 01:17 | Сообщение № 3
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

так нужно?
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(A1;{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")
К сообщению приложен файл: snils.xlsx (9.1 Kb)
 
Ответить
Сообщениетак нужно?
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(A1;{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")

Автор - MCH
Дата добавления - 25.05.2014 в 01:17
krosav4ig Дата: Воскресенье, 25.05.2014, 02:19 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
К сообщению приложен файл: nils.xls (41.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 25.05.2014, 03:15
 
Ответить
Сообщение

Автор - krosav4ig
Дата добавления - 25.05.2014 в 02:19
Lhonemzathrum Дата: Воскресенье, 25.05.2014, 02:33 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
MCH, просто шикарно получилось, большое человеческое спасибо!
 
Ответить
СообщениеMCH, просто шикарно получилось, большое человеческое спасибо!

Автор - Lhonemzathrum
Дата добавления - 25.05.2014 в 02:33
zsm Дата: Среда, 22.11.2017, 05:49 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Добрый день. Подниму темку. А как сделать если СНИЛС начинается с "0"? Например 059-752-471 03.
 
Ответить
СообщениеДобрый день. Подниму темку. А как сделать если СНИЛС начинается с "0"? Например 059-752-471 03.

Автор - zsm
Дата добавления - 22.11.2017 в 05:49
Pelena Дата: Среда, 22.11.2017, 07:49 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A1;"-";"");{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")
К сообщению приложен файл: 6144363.xlsx (9.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A1;"-";"");{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")

Автор - Pelena
Дата добавления - 22.11.2017 в 07:49
_Boroda_ Дата: Среда, 22.11.2017, 09:20 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще вариант с минимальными правками формулы МСН
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(A1;{1;2;3;5;6;7;9;10;11};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")

[p.s.]
как сделать если СНИЛС начинается с "0"?

А какая разница - с нуля или не с нуля? Возможно, у Вас не получалось потому, что у Вас СНИЛС не просто 9 цифр подряд, а с дефисами?[/p.s.]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант с минимальными правками формулы МСН
Код
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(A1;{1;2;3;5;6;7;9;10;11};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")

[p.s.]
как сделать если СНИЛС начинается с "0"?

А какая разница - с нуля или не с нуля? Возможно, у Вас не получалось потому, что у Вас СНИЛС не просто 9 цифр подряд, а с дефисами?[/p.s.]

Автор - _Boroda_
Дата добавления - 22.11.2017 в 09:20
AlexM Дата: Четверг, 23.11.2017, 19:21 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Александр, что-то есть несовпадение результатов разных формул.
К сообщению приложен файл: 0606385.xls (28.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеАлександр, что-то есть несовпадение результатов разных формул.

Автор - AlexM
Дата добавления - 23.11.2017 в 19:21
_Boroda_ Дата: Четверг, 23.11.2017, 19:26 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Естественно. Формула писалась для СНИЛСа с дефисами, вот такого 059-752-471 03
А для без дефиса - формула МСН.
А для произвольного - формула Лены


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕстественно. Формула писалась для СНИЛСа с дефисами, вот такого 059-752-471 03
А для без дефиса - формула МСН.
А для произвольного - формула Лены

Автор - _Boroda_
Дата добавления - 23.11.2017 в 19:26
AlexM Дата: Четверг, 23.11.2017, 20:55 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Работает как у Лены
Код
=ПРАВБ(0&ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A1;"-";);{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);2)
и массивная
Код
=ПРАВБ(0&ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A2;"-";);СТОЛБЕЦ(A:I);1)*(10-СТОЛБЕЦ(A:I)));101);2)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 23.11.2017, 21:07
 
Ответить
СообщениеРаботает как у Лены
Код
=ПРАВБ(0&ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A1;"-";);{1;2;3;4;5;6;7;8;9};1)*{9;8;7;6;5;4;3;2;1});101);2)
и массивная
Код
=ПРАВБ(0&ОСТАТ(СУММ(ПСТР(ПОДСТАВИТЬ(A2;"-";);СТОЛБЕЦ(A:I);1)*(10-СТОЛБЕЦ(A:I)));101);2)

Автор - AlexM
Дата добавления - 23.11.2017 в 20:55
Луна Дата: Понедельник, 14.10.2019, 15:51 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, есть один снилс, не проходит проверку Вашей формулой, не могу разобраться почему.


"ничего" не понятно, но очень интересно
 
Ответить
СообщениеAlexM, есть один снилс, не проходит проверку Вашей формулой, не могу разобраться почему.

Автор - Луна
Дата добавления - 14.10.2019 в 15:51
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчет контрольной суммы снилс (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!