Страницы: 1
RSS
Сумма значений совпадающих по двум критериям
 
Добрый день!

подскажите где ошибка или логика моих рассуждений не правильна?
необходимо во вкладке "Результат" в ячейке D10 отобразить сумму значений совпадающих по условию с ячейками G8 и G9.
Пробовал через формулу массива: =ИНДЕКС(Выписка!$D$2:$D$10000;ПОИСКПОЗ(G8&G9;Выписка!$A$2:$A$10000&Выписка!$I$2:$I$10000;0))
но не получилось выдернуть даже одного значения, а как выдернуть сумму значений совпадающих по двум критериям ума не приложу.
натолкните пжл на мысль... в каком направлении идти?
 
И что смущает, если данных за 23.01.2013 нет, т.к. ПОИСКПОЗ ищет первое совпадение. К тому же ИНДЕКС здесь не лучший вариант. Попробуйте СУММПРОИЗВ.
Изменено: Владимир - 05.10.2014 09:30:37
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
попробовал формулу =СУММПРОИЗВ(ПОИСКПОЗ(G8&G9;Выписка!$A$2:$A$10000&Выписка!$I$2:$I$10000;0))
но все равно не то... мне кажется СУММПРОИЗВ тут не подходит, она же перемножает, а мне сумма значений нужна... или я не прав?
 
счет корректировки не полный - так надо или вы просто не дописали.
если так надо то брать те значения корректировки которые начинаются на данные 5 цифр.
формула типа =СУММПРОИЗВ((диапазон=значение)*(диапазон=значение)*диапазон)
 
счет корректировки берем по балансовой позиции, т.е. 5 цифр... сейчас попробую своять формулу по вашему совету
 
У Вас с постановкой задачи проблемы.
Первое - сумму значений какого столбца листа Выписка, совпадающих условиям Вы хотите посчитать?
Второе - на листе результат ячейка G9  подписана как "Счет коррект." , а вписано значение из столбца "Б/счет" и в своей формуле Вы тоже используете $I$2:$I$10000 - странно.
И еще - выкладывать в примере файл с закрытым на пароль листом как-то не логично.

Посмотрите, я посчитал сумму по полю Дебет по условию Дата и Б/счет через СУММПРОИЗВ
 
не совсем понял диапазон = значение, значение ведь мне найти надо... т.е. используем ПОИСКПОЗ?
=СУММПРОИЗВ((диапазон=ПОИСКПОЗ)* и т.д.   так?
 
Почитайте про СУММПРОИЗВ
здесь например
 
Код
=СУММПРОИЗВ((Выписка!$A$2:$A$1381=Результат!$G$8)*(--Выписка!$I$2:$I$1381=Результат!$G$9)*Выписка!$C$2:$C$1381)

на будущее если используете текстовую ф-ци то итог текст. У вас например на листе выписка ф-ция ЛЕВСИМВ. При сравнение текста и числа будет ложь (Выписка!$I$4=Результат!$G$9) поэтому заранее переводите текст в число с помощью двойного отрицания "--" или *1 или +0.
 
По-моему, проще понять, как работает СУММПРОИЗВ - это пошагово посмотреть вычисления функции для массива в 5-10 элементов.

(диапазон = значение) формирует вектор (массив) из нулей и единиц.
например: {0,1,0,0,1}
Когда мы такой вектор умножаем на вектор с нужными значениями сумм, например
{123, 54, 27, 789, 999}
Останутся только те значения, где в первом векторе 1.

Результатом произведения будет число - сумма тех элементов, где была 1, т.е. там, где было выполнено условие (диапазон = значение).

Если условий несколько, то и векторов с нулями и единицами нужно делать несколько.
 
V,  не знал такого нюанса.... спасибо теперь буду знать!
 
Sergei_A,  да почитал, спасибо за ссылку... действительно СУММПРОИЗВ рулит!!!
 
немножко не то... СУММПРОИЗВ работает, но работает для ограниченного границами массива, у меня же предполагается, что во вкладке Выписка возможно неограниченное количество проводок, т.е. тут будет динамический диапазон. Т.о., по-видимому формулу надо дорабатывать с помощью ИНДЕКС и ПОИСКПОЗ...
пошел рыскать по форуму... результат выложу, если найду решение
 
Цитата
socker пишет:
пошел рыскать по форуму... результат выложу, если найду решение

Удачи.
----------------
Цитата
=СУММПРОИЗВ(ЕСЛИОШИБКА((Выписка!A:A=Результат!$G$ 8) *(Выписка!I:I=Результат!$G$9)*Выписка!D :D ;0))

----------------
Кстати, у Вас какой Excel?
Изменено: Владимир - 05.10.2014 09:30:46
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Не понял, какой именно столбец нужно суммировать, просуммировал дебет, формула массива
Код
={СУММ(ЕСЛИ(Выписка!A2:A13810=G8;ЕСЛИ(Выписка!I2:I13810=(G9&"");Выписка!C2:C13810)))}
 
Владимир,
да... с ЕСЛИОШИБКА работает как формула массива... все-таки много ньюансов в Excel`е... думал многое знаю, оказывается многого не знаю  :)
надеюсь после курса "Расширенные возможности в Excel" вопросов с моей стороны будет меньше...

Всем спасибо за советы и науку!
 
Макрос. За компанию, просуммировал "дебет".
 
k61,
к сожалению с макросами пока на вы... даже не представляю как они пишутся... не дорос еще до них
 
Цитата
написал:
(диапазон = значение) формирует вектор (массив) из нулей и единиц.например: {0,1,0,0,1}
...
Если условий несколько, то и векторов с нулями и единицами нужно делать несколько.
Это работает если условие "строго" определено. В случае использования символов подстановки * и/или ? данная формула НЕ РАБОТАЕТ.
Может быть есть решение этой проблемы?


файл примера в этой теме
Очень буду признателен за помощь, нужна именно формула, без макроса.  
Страницы: 1
Наверх