Страницы: 1
RSS
Счет возраста имея даты рождения
 
Имею диапазон дат рождения. Необходимо посчитать кол-во людей, в диапазоне от 20 до 30 лет без дополнительного столбца. Во вложении пример с дополнительным столбцом.
 
У вас странно считается доп столбец. Например с датой рождения 30.07.1986, человеку сейчас 28 полных лет, но никак не 30.
Если нужно кол-во полных лет, считайте через
Код
 =РАЗНДАТ(A2;СЕГОДНЯ();"y"
вас именно стандартные ср-ва excel для решения задачи интересуют? макрос - не?
Изменено: anyarceva - 06.03.2015 13:29:51
 
Код
=СУММПРОИЗВ((ГОД(СЕГОДНЯ())-ГОД($A$2:$A$60)>=20)*(ГОД(СЕГОДНЯ())-ГОД($A$2:$A$60)<=30))
животное конь и як подсказало такой вариант
Лень двигатель прогресса, доказано!!!
 
я бы тогда такой вариант предложила (где "даты" - именованный диапазон ваших дат A2:A60):
Код
=СУММПРОИЗВ((РАЗНДАТ(даты;СЕГОДНЯ();"y">=20)*(РАЗНДАТ(даты;СЕГОДНЯ();"y"<=30))

у меня при публикации все время съедаются скобки, так должно быть:

Изменено: anyarceva - 06.03.2015 14:48:54
 
Всем большое спасибо! Это то, что нужно!
 
У меня такие вышли
Массивная
Код
=СУММ(ЕСЛИ(ГОД(СЕГОДНЯ())-ГОД(A2:A60)-ЕСЛИ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2:A60);ДЕНЬ(A2:A60))<=СЕГОДНЯ();0;1)>=20;1;0))-СУММ(ЕСЛИ(ГОД(СЕГОДНЯ())-ГОД(A2:A60)-ЕСЛИ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2:A60);ДЕНЬ(A2:A60))<=СЕГОДНЯ();0;1)>30;1;0))
не массивная:
Код
=СУММПРОИЗВ(((ГОД(СЕГОДНЯ())-ГОД(A2:A60)-ЕСЛИ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2:A60);ДЕНЬ(A2:A60))<=СЕГОДНЯ();0;1))>=20)*((ГОД(СЕГОДНЯ())-ГОД(A2:A60)-ЕСЛИ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2:A60);ДЕНЬ(A2:A60))<=СЕГОДНЯ();0;1))<=30))
anyarceva, у меня не получилось в РАЗНДАТ запихнуть массив ячеек в качестве аргумента, пришлось идти более сложным путем. У вас работает с массивом дат?
Сергей, тогда разница между 31.12.2014 и 01.01.2015 будет 1 год.
F1 творит чудеса
 
Цитата
Максим Зеленский написал: Сергей , тогда разница между 31.12.2014 и 01.01.2015 будет 1 год.
Максим да к в отборку не попадает и ладно
Лень двигатель прогресса, доказано!!!
 
Вариант, но похожее уже было
Код
=СУММПРОИЗВ(ПРОСМОТР(РАЗНДАТ(A2:A60;СЕГОДНЯ();"y");{0;20;31};{0;1;0}))
 
Вариант:
Код
=СЧЁТЕСЛИМН(A2:A60;">="&ДАТАМЕС(СЕГОДНЯ();-30*12);A2:A60;"<="&ДАТАМЕС(СЕГОДНЯ();-20*12))
Страницы: 1
Наверх