Страницы: 1
RSS
Сумма в зависимости от положения ненулевых ячеек в соседнем столбце
 
Добрый день?  
Можно ли в столбце D сделать универсальную формулу, чтобы протягивалась и работала?  
Без примера объяснить сложно, пример прилагаю.  
Не могу ничего путного придумать.
 
Сорри, "Добрый день!" выше подразумевался восклицательным знаком.
 
Добрый?! Кого вы обманываете?! :О)  
по сути вопроса:  
1. непонятно. в 2 строке сумма = 7 - ок. Почему в 3 строке сумма = 5? Ячейки в В не нулевые, следовательно (как условие изложено) "нужна сумма ячеек из столбца C (от ненулевой ячейки столбца В до следующей ненулевой ячейки)"  
т.е. нужна сумма 7+5 в 3 строке, правильно, или я чего не понял? Далее, почему в 4 строке сумма = 14, когда значения из С дают в сумме 7+5+3=15?
 
=ЕСЛИ(B2=0;"";ЕСЛИ(И(B2>0;B3=0);СУММ(C2:ИНДЕКС($C2:$C$13;ПОИСКПОЗ(;--($B2:$B$13>0);1)));C2))  
 
-----  
49749  - как красиво..
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=09.11.2011 12:27}{thema=}{post}49749  - как красиво..{/post}{/quote}  
А что это такое 5-значные цифры в конце поста.
 
{quote}{login=}{date=09.11.2011 12:13}{thema=}{post}Добрый?! Кого вы обманываете?! :О)  
по сути вопроса:  
1. непонятно. в 2 строке сумма = 7 - ок. Почему в 3 строке сумма = 5? Ячейки в В не нулевые, следовательно (как условие изложено) "нужна сумма ячеек из столбца C (от ненулевой ячейки столбца В до следующей ненулевой ячейки)"  
т.е. нужна сумма 7+5 в 3 строке, правильно, или я чего не понял? Далее, почему в 4 строке сумма = 14, когда значения из С дают в сумме 7+5+3=15?{/post}{/quote}  
Никого не обманываю, всё верно. Сумма нужна не вышележащих ячеек, а идущих вниз, пока не встретится ненулевое значение в столбце B.
 
{quote}{login=Владимир}{date=09.11.2011 12:27}{thema=}{post}=ЕСЛИ(B2=0;"";ЕСЛИ(И(B2>0;B3=0);СУММ(C2:ИНДЕКС($C2:$C$13;ПОИСКПОЗ(;--($B2:$B$13>0);1)));C2))  
{/post}{/quote}  
Спасибо, Владимир!  
Работает, но почему-то именно в ячейке D9 выдаёт ошибку.  
Не пойму, в чём дело.  
Посмотрите пожалуйста.
 
У меня тоже. Можно просто задавить эту ошибку, но хотел бы найти корень.. Пока не пойму, вроде массив выдаёт {1;0;1;0;0}, но пр этом всё-таки НД.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
=ЕСЛИ(B2;СУММ(C2:$C$13)-СУММ(D3:$D$13);"")
 
Владимир, ошибка здесь: ПОИСКПОЗ() для точного совпадения.
 
Ну и, естественно, формула массива.
 
Еще вариант (не массивная):  
=СУММПРОИЗВ(СМЕЩ(C2;;;ПОИСКПОЗ(0;(B3:$B$15=0)*(B3:$B$15<>"");0)))*(B2<>0)
Редко но метко ...
 
Спасибо всем огромное!  
Как всё оказалось просто и гениально!  
Виктор вообще король логического мышления.
 
{quote}{login=vikttur}{date=09.11.2011 05:40}{thema=}{post}Владимир, ошибка здесь: ПОИСКПОЗ() для точного совпадения.{/post}{/quote}  
 
Вот, не совсем так.. Непонятно, почему ПОИСКПОЗ перестаёт считать правильно, когда остается 1-2 позиции.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, совсем не так :)  
Файл с другой темы.
 
:D
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Это не поиск последнего нуля. Это поиск приблизительного соответствия. Но при этом "просматриваемый_массив должен быть упорядочен по возрастанию"  
 
Поиск последнего значения - да:  
=ПОИСКПОЗ(2;--($B9:$B$13>0);1)
Страницы: 1
Читают тему
Наверх