Страницы: 1
RSS
Сумма по нескольким условиям, ссылка на массив, находящийся на пересечении нужных строк и столбцов, работает некорректно.
 
Добрый день.
Есть формула массива
={IF(ISERROR(MATCH(D$1;PriceOsoby[#Headers];0));SUM(D2:D6*$B$2:$B$6);SUM(INDEX(PriceOsoby[[Саша]:[Маша]];MATCH($A$2:$A$6;PriceOsoby[Код];0);MATCH(D$1;PriceOsoby[[#Headers];[Саша]:[Маша]];0))*$C$2:$C$6))}
Работает не совсем правильно.
Файл прилагаю.
Подскажите, пожалуйста, где ошибка?
Заранее благодарю за ответ.
 
Добрый. Может, надо так?
Код
=ЕСЛИОШИБКА(СУММ(ИНДЕКС(PriceOsoby[[Саша]:[Маша]];;ПОИСКПОЗ(D1;PriceOsoby[[#Заголовки];[Саша]:[Маша]];0))*(D2:D6));СУММ(($B$2:$B$6)*(D2:D6)))
(массивная)
Кому решение нужно - тот пример и рисует.
 
Если у Вас расположение артикулов параллельно (как в примере), то можно
=СУММ(D2:D6*ЕСЛИОШИБКА(ИНДЕКС(PriceOsoby;;ПОИСКПОЗ(D1;PriceOsoby[#Заголовки];));$B2:$B6))

Не посмотрел на название темы.
Может что-то типа "сумма по нескольким условиям"?

Изменено: _Boroda_ - 23.04.2019 17:55:00
Скажи мне, кудесник, любимец ба’гов...
 
Цитата
Пытливый написал:
=ЕСЛИОШИБКА(СУММ(ИНДЕКС(PriceOsoby[[Саша]:[Маша]];;ПОИСКПОЗ(D1;PriceOsoby[[#Заголовки];[Саша]:[Маша]];0))*(D2:D6));СУММ(($B$2:$B$6)*(D2:D6)))
Формула работает.
А вот если добавить артикулы, которых нет в PriceOsoby, то уже снова считает не корректно. Файл приложила. Изначально его и надо было бы выложить...
 
Цитата
turbidgirl написал:
Формула работает
Вы хотите сказать, что моя не работает?
Цитата
turbidgirl написал:
Изначально его и надо было бы выложить...
Конечно. Получили бы ответ на 2 часа раньше
Такой вариант
=СУММ(ЕСЛИОШИБКА(СУММЕСЛИ(PriceOsoby[Код];$A2:$A8;ИНДЕКС(PriceOsoby;;ПОИСКПОЗ(D1;PriceOsoby[#Заголовки];)));$B2:$B8)*D2:D8)
А вот так
Цитата
turbidgirl написал:
[[Саша]:[Маша]];
лучше не пишите. Завтра перед Сашей или после Маши добавится столбец - и формулу придется переписывать

Да, и не совсем ясно про 1620. Должно получиться 1500. В файле проверка
Изменено: _Boroda_ - 23.04.2019 20:11:31
Скажи мне, кудесник, любимец ба’гов...
 
Почти как у бородатого модератора
=SUM(IFERROR(1/(1/SUMIF(PriceOsoby[Код];$A$2:$A$8;INDEX(PriceOsoby;;MATCH(D1;PriceOsoby[#Headers];))));$B$2:$B$8)*D2:D8)

_Boroda_, Саш 1620 - так как, если спец прайс есть, то по нему, а нет, то по обычному из первой таблицы.
Изменено: БМВ - 23.04.2019 20:46:51
По вопросам из тем форума, личку не читаю.
 
Boroda и БМВ, спасибо вам! Жаль, что я не такая умная как вы...Эх..
 
Подскажите, пожалуйста, а как тогда посчитать сумму по строке, т.е. конкретно по каждому артикулу? Пыталась сделать по аналогии с суммой по столбцу - не выходит. Кручу, но пока так и не понимаю...  
Изменено: turbidgirl - 24.04.2019 15:43:50
 
тут иначе немного
=SUM(IFERROR(INDEX(PriceOsoby;N(INDEX(MATCH(A2;PriceOsoby[Код];);));N(INDEX(MATCH(C1:D1;PriceOsoby[#Headers];);)));B2)*C2:D2)
хотя и для вчера подход применим, по сему и отвечу
=SUM(IFERROR(INDEX(PriceOsoby;N(INDEX(MATCH($A$2:$A$8;PriceOsoby[Код];);));N(INDEX(MATCH(D1;PriceOsoby[#Headers];);)));$B$2:$B$8)*D2:D8)
Изменено: БМВ - 24.04.2019 16:29:55
По вопросам из тем форума, личку не читаю.
 
Спасибо вам, БМВ. Как обычно - просто и со вкусом...
Изменено: turbidgirl - 24.04.2019 16:46:06
Страницы: 1
Наверх