Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Автоматическое суммирование выборочных элементов столбца, Учет денежный личных средств
 
Всем привет. Я открыл для себя этот форум и понял, что здесь много отзывчивых людей. Надеюсь, и в этот раз вы поможете решить мне одну задачу.


Я пытаюсь вести документ, в котором веду учет своих денег. Для этого мне нужно две таблицы (лаконичнее вариант я придумать не смог. Использовать VBA пока не готов )

В первой таблице  "вопрос_ексель.png" я записываю расходы и доходы. Каждая новая строка это одна из позиций на который я что-то потратил/моего заработка/долга(мне или моего). Долг пишется в отдельном столбце т.к. учитываться он будет отдельно

Каждому элементу из атрибура "Оборот/Долг" соответствует атрибут "Дата".  Здесь всё предельно понятно

Но теперь я хочу, чтобы во второй таблице велся учет средств, которые у меня на кармане. Более глобально и обобщенно "вопрос_ексель2.png". Проблема в том, что мне надо просуммировать все значение столбца "Оборот", которым соответствует значение, к примеру, 14.02.2017. Если пользоваться функцией =ПОИСКПОЗ или =ВПР, то я получаю только первый элемент, из столбца "Оборот".

Надеюсь, вопрос понятен. Если нет, я на связи, буду рад любой помощи.

Заранее спасибо !
 
как-то так, наверно
 
Код
=СУММПРОИЗВ(Таблица6[Оборот] * (C7=Таблица6[Дата]))
 
Ништяк, спасибо !
Не знал, что есть такая функция  
 
Код
=СУММЕСЛИ(Таблица6[Дата];Баланс.общий!$C7;Таблица6[Оборот])
 
Wanschh, олично, работает. Но, если честно, даже прочитав синтаксис этой функции, пока не смог разобраться, как работает написанный вами "код" :(
Цитата
vladjuha написал: =СУММПРОИЗВ(Таблица6[Оборот] * (C7=Таблица6[Дата]))
Тоже работает, интересный способ. Но я так понимаю, что предыдущий более производительный будет т.к. умножение - сложный процесс, на сколько мне известно.  
 
Ведь по сути:
а. - диапазон. Я думал, что это тот диапазон В КОТОРОМ мы ищем. Но вроде получается, диапазон в который попадают значения, которые мы ищем
б. - критерий. По идее, условие, которое должны удовлетворять искомые элементы. А здесь это "Баланс.общий!$C7". Не совсем понимаю, как это может быть критерием.
в. - диапазон, в котором мы ищем.

В общем, со всем, кроме "б." разобрался.
1222.PNG (35.2 КБ)
 
Цитата
bsz написал:
б. - критерий. По идее, условие, которое должны удовлетворять искомые элементы. А здесь это "Баланс.общий!$C7". Не совсем понимаю, как это может быть критерием.
Это критерий для "диапазона" (где даты), по полученным индексам уже будет складываться "диапазон_суммирования" (где деньги)

Цитата
bsz написал:
Тоже работает, интересный способ. Но я так понимаю, что предыдущий более производительный будет т.к. умножение - сложный процесс, на сколько мне известно.
Там не всё так страшно. Сейчас протестировал: на 2 млн ячеек разницы нет (в теч. секунды), на 28 млн суммпроизв уже отстаёт в два раза.
 
Благодарю, разобрался
 
Цитата
vladjuha написал: не всё так страшно.
Да ну-у-у, считать каких-то 3 ячейки... И вот входит в привычку. Через годик-другой люди бегут на форум в поисках способов облегчения тормознутых файлов.

Нужно приучаться использовать оптимальные решения. В данном примере СУММЕСЛИ лучше: работает шустрее, умеет определять пльзовательский диапазон
(например, можно указать весь столбец, но функция будет просчитывать только используемый диапазон)
Цитата
bsz написал: Ведь по сути... а... б... в...
Вы немного запутались :)
а) раньше думали правильно: диапазон для поиска, в нем ищем нужное;
б) это то, что ищем, или условие поиска: "слово", 125, "<>", "<="&A5, Баланс.общий!$C7 (критерий искать там).
в) диапазон суммирования. Он может совпадать с диапазонм поиска (тогда можно не укаывать), но может и не совпадать.
Суммируются значения тех строк/столбцов диапазона, в которых найдено искомое из первого диапазона.

Та же СУММПРОИЗВ в другом варианте (если применим) работает быстрее:
=СУММПРОИЗВ(диапазон1;диапазон2)
=СУММПРОИЗВ(диапазон1;--условие)
Страницы: 1
Читают тему (гостей: 1)