Как да изчисля възрастта от ЕГН?

Microsoft Excel

Имам база данни с ЕГН, но трябва да изчисля възрастта. Родените след 2000 г. имат 40 добавено към месеца на раждане и става сложно. Става дума за Excel

А, чак пък сложно.

Ако ЕГН-то е в клетка А2, долната формула би трябвало да свърши работа (евентуално трябва запетаите да се заменят с точка и запетая)?

=YEAR($B$1)-IF(VALUE(MID(A2,3,2))>40,2000,1900)-ROUND(VALUE(A2)/100000000,0)

Как работи: YEAR($B$1) - изчислява текущата година, като в клетка В1 е въведена датата към която се смята възрастта. Може да бъде заменено и с YEAR(TODAY()), ако целта е датата да се смята винаги към текущия ден

VALUE(MID(A2,3,2)) - връща числото на месеца от ЕГН-то IF(VALUE(MID(A2,3,2))>40,2000,1900) - проверява дали числото на месеца е по-голямо от 40. Ако е - дава резултат 2000, ако не е - дава 1900

ROUND(VALUE(A2)/100000000,0) - изчислява годината на раждане. Тук се използва това, че ЕГН-то всъщност е 10 (или 9) цифрено число, което е по-голямо от 100 млн. Следователно като го разделим на 100 млн. и закръглим, получаваме точно годината на раждане

Пример: За човек с ЕГН 8203220000 (такова най-вероятно не може да има, но последните 4 цифри въобще не ни интересуват) към днешна дата се получава:

2017 - 1900 - 82 = 35

Благодаря

Това е формулата, ако знаем точната рождена дата: Всеки ден ще има промяна в дните, тъй като е използвана функцията TODAY в клетка Е3!

Резултатът:

Лице, родено СЛЕД 2000-та година: Формулата е същата. Лек ден!

Лек ден и успехи!

в клетка B5 записвате ЕГН, в клетка С5 - формулата: =DATE((IF(VALUE(MID(B5;3;2))>40;(2000+(MID(B5;1;2)));1900+((MID(B5;1;2)))));(VALUE(MID(B5;3;2)));VALUE(MID(B5;5;2))),, в клетка D5 - формулата: =DATEDIF(C5;$D$2;"Y")&" години, "&DATEDIF(C5;$D$2;"YM")&" месеца и "&DATEDIF(C5;$D$2;"MD")&" дни", в клетка Е5 - формулата:=YEAR(TODAY())-VALUE(CONCATENATE("19";MID(B5;1;2)))

в клетка D2: =NOW()


Вашият отговор

Запиши се в Аула

или
Вашият имейл е защитен при нас.