Страницы: 1
RSS
Не работает формула массива, не могу разобраться
 
Есть вертикальный ряд дат и соответствующих им значений. Мне нужны значения на первый день каждого месяца каждого года. Написал формулу. Если использовать в ней только год или только месяц, то работает. Если ставится условие и год и месяц, то не работает. Помогите разобраться.  
Пример во вложения
 
учим мат часть  
=ИНДЕКС(B:B;НАИМЕНЬШИЙ(ЕСЛИ((МЕСЯЦ(A2:ИНДЕКС(A:A;СЧЁТ(A:A)))=F1)*(ГОД(A2:ИНДЕКС(A:A;СЧЁТ(A:A)))=D3);СТРОКА(A2:ИНДЕКС(A:A;СЧЁТ(A:A)));"");1))
 
Учу... не сплю ночами... со скрипом идет )). Можно кратко пояснить почему И() здесь не работает, а * заработала (я не программист, с операторами * & и прочее раньше не сталкивался)  
 
Спасибо за подсказку
 
В формуле разбираться лень, но на простом примере:  
перемножение двух массивов (1;2)*(3;4) в формуле массива даст массив (2;8)  
А И((1;2);(3;4)) там же даст массив (1;2;3;4)  
вот поэтому И() не работает.
Bite my shiny metal ass!      
 
Спасибо за объяснения, понял. Фактически И() при использовании в массивах работает как сложение, а не как умножение, хотя в обычных формулах он является аналогом именно умножения.  
Я думаю там опечатка в примере, должен получиться массив (3;8)  
 
Еще раз спасибо
 
вычислите пошагово синие формулы
 
см файл
 
{quote}{login=Alexander_V}{date=19.01.2010 02:03}{thema=Без Если тоже можно}{post}см файл{/post}{/quote}  
Ой чего то я стормозил без если нельзя :)
 
и чем она отличается?  
ну кроме того что массив теперь не динамический?
 
{quote}{login=Dophin}{date=19.01.2010 02:07}{thema=}{post}и чем она отличается?  
ну кроме того что массив теперь не динамический?{/post}{/quote}  
Да ни чем - просто пока я соображал тут уже ответили.  
Долго соображаю :)
 
{quote}{login=Kirk}{date=19.01.2010 01:56}{thema=}{post}Спасибо за объяснения, понял. Фактически И() при использовании в массивах работает как сложение, а не как умножение, хотя в обычных формулах он является аналогом именно умножения.  
Я думаю там опечатка в примере, должен получиться массив (3;8)  
 
Еще раз спасибо{/post}{/quote}Это не опечатка, а слабые познания в арифметике.  
Уже не первый раз в устных вычислениях путаюсь. Конечно (3;8)  
:)  
Кстати, не сложение. При сложении ((1;2)+(3;4)) было бы (4;6)  
Фигня, короче, выходит.
Bite my shiny metal ass!      
 
I think it will be useful for you
MyExcelWorld One World One Dream!
Microsoft MVP Excel from 2012
Aydin Aliyev
 
{quote}{login=Лузер™}{date=19.01.2010 01:36}{thema=}{post}В формуле разбираться лень, но на простом примере:  
перемножение двух массивов (1;2)*(3;4) в формуле массива даст массив (2;8)  
А И((1;2);(3;4)) там же даст массив (1;2;3;4)  
вот поэтому И() не работает.{/post}{/quote}  
 
как это и дает массив? можно пример в файле?
 
небольшой пример)
 
Нда, очень поучительно. Пунктуацию важно знать. to useful: спасибо, но много избыточного. Через массив проще и быстрее.
 
В доп. столбец С:  
=ДАТА(ГОД(A2);МЕСЯЦ(A2);1)  
Определение значения:  
=ИНДЕКС($B:$B;ПОИСКПОЗ(ДАТА($D3;F$1;1);$C:$C;0))
 
{quote}{login=Kirk}{date=19.01.2010 01:16}{thema=Не работает формула массива, не могу разобраться}{post}Есть вертикальный ряд дат и соответствующих им значений. Мне нужны значения на первый день каждого месяца каждого года. Написал формулу. Пример во вложения{/post}{/quote}  
Если оформить в представленную Вами таблицу, то можно так.  
С уважением, Александр.
 
Sh_Alex, это работает, если в исходных данных есть дата с первым числом месяца (01).  
Я понял задачу так - нужно находить дату с ПЕРВЫМ НАЙДЕННЫМ числом месяца.
 
{quote}{login=vikttur}{date=20.01.2010 09:35}{thema=}{post}Sh_Alex, это работает, если в исходных данных есть дата с первым числом месяца (01).  
Я понял задачу так - нужно находить дату с ПЕРВЫМ НАЙДЕННЫМ числом месяца.{/post}{/quote}  
Тогда, по-видимому, поможет это.  
С уважением, Александр.
Страницы: 1
Читают тему
Наверх