Страницы: 1
RSS
как найти последний существующий день месяца.
 
Здравствуйте, форумчане. У меня следующая проблема: есть в столбике А набор дат за год, из них надо найти последнюю дату в каждом месяце.    
 
Делал вот так: =If(A1=Eomonth(A1;0);1;0). Но как прописать, чтобы формула ставила единицы если в А1 не 31.12.2012, а 30.12.2012, а 31.12.2012 нет совсем? То есть, чтобы формула ставила 1 напротив последнего существующего дня месяца.
 
{=--(МАКС(ЕСЛИ(МЕСЯЦ($A$1:$A$10)=МЕСЯЦ(A1);$A$1:$A$10))=A1)}
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
непонятно, что вам нужно. Eomonth() корректно вычисляет дату конца месяца не зависимо от А! и числа месяцев... какие единички?
 
Мне надо, чтобы в столбце В стояли 1 если в соответствующей строке А последняя существующая дата месяца, и 0 - в других случаях.
 
ikki ,что-то не работает  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Извините, вроде большой файл получился. Прикрепляю меньший
 
?
excel 2010
 
yavorsky90, неужели за 150 постов на форуме ни разу не встречались с выражением "формула массива"?  
я специально заключил формулу в фигурные скобки.  
вам их вводить не надо. они появятся сами - после того, как вы завершите ввод формулы ctrl+shift+enter  
 
пс. год формула не учитывает, но вы этого и не просили :)))
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
пс. если, как в вашем наконец-то появившемся примере, даты расположены по порядку - формулу можно сделать гораздо проще.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
да, даты по порядку. И надо учитывать года. Вариант Nic70y как-то работает, пробую понять как.
 
НЕ формула массива, ввести в B2, протянуть вниз  
=--ИЛИ(МЕСЯЦ(A2)<>МЕСЯЦ(A3);ЕПУСТО(A3))
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Спасибо огромное, все работает.
 
должен заметить - последняя формула наврёт в случае, если к примеру, следом за ячейкой 20.05.2007 будет ячейка 12.05.2008.  
если такая вероятность есть - добавьте в формулу проверку на год.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=yavorsky90}{date=02.12.2012 08:28}{thema=}{post}Мне надо, чтобы в столбце В стояли 1 если в соответствующей строке А последняя существующая дата месяца, и 0 - в других случаях.{/post}{/quote}=--(КОНМЕСЯЦА(A2;0)=A2)
 
михаил, насколько я понял, автору нужно немного другое - проверка на пжоследнюю дату месяца из имеющихся в списке, а не в календаре :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Михаил, так не получается, потому что напротив 28.12.2007 тоже надо поставить 1 (это последний существующий в столбце день месяца).
 
Тогда вопрос должен звучать примерно так: "Как найти максимальную дату каждого месяца из списка дат?"  
=--(ИНДЕКС(A2:A33;ПОИСКПОЗ(КОНМЕСЯЦА(A2;0);A2:A33))=A2)
 
Ну и от меня несколько вариантов
Страницы: 1
Читают тему
Наверх