Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Подсчет суммы значений при выполнении условия (http://forum.oszone.net/showthread.php?t=348674)

Tigr 03-05-2021 22:18 2956966

Подсчет суммы значений при выполнении условия
 
Имеется таблица Excel следующей структуры:
Цитата:

товар1, выручка, товар3, выручка, товар2, выручка, товар1, выручка,
товар2, выручка, товар2, выручка, товар1, выручка, товар3, выручка,
...
товар3, выручка, товар1, выручка, товар3, выручка, товар2, выручка
Нужно подсчитать суммы выручки по каждому товару. Какую функцию изучить ? Функция ЕСЛИ в виде =ЕСЛИ(E7="товар1";действие) не подходит, ибо в формуле придется "поименно" указать половину всех ячеек таблицы. Как указать диапазон ячеек, в к-х будет искаться товар1 (товар2, товар3), после чего будут суммироваться соотв-е соседние ячейки ?

a_axe 03-05-2021 22:27 2956967

Tigr, тут принципиально увидеть форму таблицы в формате экселя, без этого к сожалению никак.

Tigr 03-05-2021 22:51 2956969

Ссылка на таблицу. Она на самом деле несколько сложнее, но если будет найдено решение для этой, с подобными случаями разберусь легко.

Здесь (СУММЕСЛИ) что-то похожее на требуемое.
Цитата:

При необходимости условия можно применить к одному диапазону, а просуммировать соответствующие значения из другого диапазона. Например, формула =СУММЕСЛИ(B2:B5; "Иван"; C2:C5) суммирует только те значения из диапазона C2:C5, для которых соответствующие значения из диапазона B2:B5 равны "Иван".

Если необходимо выполнить суммирование ячеек в соответствии с несколькими условиями, используйте функцию СУММЕСЛИМН.
По идее, нужно написать такую формулу для каждой пары столбцов и для каждого товара.

okshef 03-05-2021 23:10 2956970

Tigr, очень неудобное представление для анализа. Вопрос первый: количество видов товаров и количество столбцов одно и то же всегда? Второй: возможно ли в принципе вести записи иначе - в один столбец?

Tigr 03-05-2021 23:49 2956972

Цитата:

Цитата okshef
количество видов товаров и количество столбцов одно и то же всегда? »

Да для обоих вопросов. В оригинальной таблице не товары, а 6 повторяющихся блоков по 3 столбца в каждом (в каждом, данные разного типа, в.т.ч. и выручка), + столбцы даты (1-31), дня недели и выручки за день по всем "товарам". Я упростил таблицу, чтобы проще было найти решение.
Цитата:

Цитата okshef
возможно ли в принципе вести записи иначе - в один столбец? »

Не хочу переделывать: если бы речь шла о товарах, логика построения таблицы была бы действительно неудобной, но там, повторяю, не товары.

Tigr 04-05-2021 00:08 2956973

=СУММЕСЛИ(C5:C7; "товар1"; D5:D7)+СУММЕСЛИ(E5:E7; "товар1"; F5:F7)+СУММЕСЛИ(G5:G7; "товар1"; H5:H7)+СУММЕСЛИ(I5:I7; "товар1"; J5:J7)+СУММЕСЛИ(K5:K7; "товар1"; L5:L7) - это работает. Осталось только найти более изящное решение через СУММЕСЛИМН.

okshef 04-05-2021 00:08 2956974

Tigr, нужно считать построчно или сразу по всей таблице?
В приведенной формуле подсчет только за три дня, а дальше?

Tigr 04-05-2021 00:22 2956975

Цитата:

Цитата okshef
нужно считать построчно или сразу по всей таблице? »

Ссылку на оригинальную таблицу отправил в личку. Нужно подсчитать выручку по каждому товару и за день, и за месяц.

YuS_2 04-05-2021 09:23 2956985

Цитата:

Цитата Tigr
Ссылку на оригинальную таблицу отправил в личку. »

Если требуется решение, то даже оригинальная не нужна... составьте фиктивную, по образу и подобию и приложите в виде файла.

okshef 04-05-2021 09:51 2956987

YuS_2,
Цитата:

Цитата Tigr


megaloman 04-05-2021 11:10 2956994

Вложений: 1
Tigr, Идея с Вашей таблицей. В, например, A1 копируете наименование искомого товара, в C1 пИшите формулу:
Код:

=СУММЕСЛИ(C3:C33;$A$1;D3:D33)
, копИруете её в E1 G1 I1 K1, общую сумму полУчите в B1
Код:

=СУММ(C1:L1)
Таблица приложена.

YuS_2 04-05-2021 11:13 2956995

Вложений: 1
Цитата:

Цитата okshef
Ссылка на таблицу. » »

Тогда, для суммирования по месяцу:
Цитата:

Цитата Tigr
=СУММЕСЛИ(C5:C7; "товар1"; D5:D7)+СУММЕСЛИ(E5:E7; "товар1"; F5:F7)+СУММЕСЛИ(G5:G7; "товар1"; H5:H7)+СУММЕСЛИ(I5:I7; "товар1"; J5:J7)+СУММЕСЛИ(K5:K7; "товар1"; L5:L7) - это работает »

- это единственное решение, с помощью готовых формул, без использования VBA...
Ибо это:
Цитата:

Цитата Tigr
Осталось только найти более изящное решение через СУММЕСЛИМН. »

- применяется также, либо по столбцам, либо по строкам с единственным диапазоном для суммирования, но со множественными условиями, множественные диапазоны суммирования не поддерживаются. Т.е. можно так:
Вася, Товар1, 10
Федя, Товар1, 5
Вася, Товар2, 3
Вася, Товар1, 11
- просуммировать третий столбец, но по таким условиям: Товар1 и проданный Васей, например или Проданный Федей товар2... как-то так.

А вот для ежедневного суммирования придется таки "транспонировать" таблицу на несколько доп.листов с условным суммированием по строкам: см. приаттаченный файл

megaloman 04-05-2021 11:41 2956999

Вложений: 1
Tigr, Еще идея, сделать обзорную таблицу с итогами по каждому товару на соседнем листе. Формулу пишем для одного товара, потом стандартно размножаем на все остальные. Руками копируем наименование товара, получаем в ответе обзорную таблицу с итогами по каждому товару моментально актуальную при внесении новых данных без необходимости менять формулы по мере изменения/заполнения данных основной таблицы.

Чем ближе пример Вашей таблицы будет соответствовать оригиналу, чем конкретнее сформулируете конечную цель, тем легче можно будет рассуждать о возможных решениях. Пока, на мой взгляд, самое оптимальное решение - создание отчетной таблицы на соседнем листе. Даже если привлекать макросы.

Tigr 04-05-2021 12:23 2957003

Цитата:

Цитата megaloman
Еще идея, сделать обзорную таблицу с итогами по каждому товару на соседнем листе »

Боюсь в это влезать - такое усложнение не стоит ценности задачи. Ссылку на оригинальную таблицу отправил Вам и YuS_2.

bredych 04-05-2021 12:32 2957005

Цитата:

Цитата Tigr
после чего будут суммироваться соотв-е соседние ячейки ? »

а что мешает сбросить все товары в один столбец и делать как обычно?
Или у вас там распечатка с листа? Ну так с листа расчетов сделайте трансляцию на лист результатов в любом форм-факторе.

Iska 04-05-2021 16:01 2957014

Tigr, тогда как обычно — скрипт на WSH/PoSH: перетянули на него Рабочую книгу, получили результат на новом листе/новой Рабочей книге. Что скажете?

YuS_2 04-05-2021 16:51 2957017

Iska, думаю, что скрипты не понадобятся. Там нужна статистика (сумма) по строкам, отдельно по товарам... с этим справится форма из аттача, достаточно в ячейке, на которую настроена абсолютная ссылка в формуле, менять условие и будет получено то, что требуется. Либо ввобще, как в приложенном файле, на каждый товар сделать отдельный лист, тогда только останется заполнять главную таблицу и получать те данные, которые будут отображаться на каждом дополнительном листе.

Iska 04-05-2021 17:26 2957020

Цитата:

Цитата YuS_2
с этим справится форма из аттача, »

Это да. Ещё там можно всю строку объединить в одну формулу суммой, и условия "товар1", "товар2", …"товарN" указывать ссылкой.

YuS_2 04-05-2021 17:49 2957026

Цитата:

Цитата Iska
Ещё там можно всю строку объединить в одну формулу суммой »

Предполагаю, что в будущем может понадобиться суммирование столбцов... ведь по какому-то принципу они появились же...
Иначе было бы проще всего, разбить на столбцы по товарам и тогда суммирование не представляло бы никаких трудностей...

Iska 04-05-2021 17:57 2957030

Цитата:

Цитата YuS_2
ведь по какому-то принципу они появились же... »

Потому что столько помещалось на листе при печати :)?!

Потому я и предпочитаю скрипт. Но лучше — вообще базу данных.

YuS_2 04-05-2021 18:17 2957035

Цитата:

Цитата Iska
Потому что столько помещалось на листе при печати ?! »

Может и так, а может требуется разделение на накладные, например... :)

Цитата:

Цитата Iska
Но лучше — вообще базу данных. »

Здесь, наверное, будет лишним... придет ТС, сам уточнит... а по исходным данным не совсем понятно, для чего там это разделение...

Iska 04-05-2021 20:45 2957044

Да. По хорошему, надо всё знать — как и чем формируется исходник, почему в таком виде, обновляется ли и как часто. И т.д.

Tigr 04-05-2021 23:27 2957055

Цитата:

Цитата Iska
По хорошему, надо всё знать »

Цитата:

Iska превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
Народ, пока бегал по делам, переварил эту фразу:
Цитата:

Цитата YuS_2
Цитата Tigr:
Осталось только найти более изящное решение через СУММЕСЛИМН. »
- применяется также, либо по столбцам, либо по строкам с единственным диапазоном для суммирования »

Можно же получить данные по каждой строке, а потом суммированием получить и месяц. Изучу ваши таблицы как проверю СУММЕСЛИМН.

Не факт, что окончательное, но пришел к такому варианту:
=СУММЕСЛИ(C5; "товар1"; D5)+СУММЕСЛИ(E5; "товар1"; F5)+СУММЕСЛИ(G5; "товар1"; H5)+СУММЕСЛИ(I5; "товар1"; J5)+СУММЕСЛИ(K5; "товар1"; L5)
таким образом получу сумму по строкам и простым суммированием получу весь месяц.

Tigr 05-05-2021 00:08 2957057

Цитата:

Цитата megaloman
я21050411.xlsx »

=СУММЕСЛИ(C3:C33;$A$1;D3:D33) - это разве не то же самое, что =СУММЕСЛИ(C5:C7; "товар1"; D5:D7) (только вместо явного указания искомого текста координаты ячейки с ним) ?

Цитата:

Цитата YuS_2
test_sum.xlsx »

Да - нормальный вариант, но не хотел перегружать таблицу. В подсчете построчно есть некоторый смысл, а в подсчете по колонкам - абсолютно никакого.

Tigr 05-05-2021 00:27 2957059

Отредактировал тестовую таблицу. Суть задачи всем понятна. Остановлюсь на этом если не предложите чего-либо другого. Переделывать таблицу не хочу (вы наверняка убедились, что она оптимальна для данного случая).

Iska 05-05-2021 05:31 2957060

Вложений: 1
Можно сократить число формул за счёт использования формулы массива (Ctrl-Shift-Enter):
Скрытый текст



Файл 164433

a_axe 05-05-2021 13:34 2957075

Цитата:

Цитата okshef
Второй: возможно ли в принципе вести записи иначе - в один столбец? »

Цитата:

Цитата bredych
Ну так с листа расчетов сделайте трансляцию на лист результатов в любом форм-факторе. »

Соглашусь с таким направлением, исходя из следующих соображений:
1. В оригинальной таблице 51 уникальное значение товара, способ наименования сильно отличается от "Товар 1" - "Товар 2". Набивание формул с ручным вводом данных в данном случае нерационален.
Завтра наименования поменяются, и снова придется сидеть и перенабивать формулы. Этим должна заниматься сводная таблица, а не пользователь. Сегодня есть Товар4 и Товар8, завтра появится Товар6 - придется искать ему место в отчете.
2. В требованиях это не озвучивалось, но на мой взгляд таблица должна быть доступна на мобильном офисе, соответственно - желательно не использовать скриптов и формул массива (последние работать будут, но редактировать под андроидом на MS офисе не получится).
3. Чем проще, тем лучше.
Цитата:

Цитата Tigr
Переделывать таблицу не хочу »

Тем проще разместить далеко внизу обычную умную таблицу, которая мешать не будет, и в которую будут транслироваться все данные из твоей формы. Из этой таблицы можно достать любую выборку с помощью сводной таблицы, вплоть до распределения сумм по дням недели, но при этом сводка доступна и в самой умной таблице с помощью формул - отфильтровал нулевые суммы и получил готовый отчет, что есть удобно при использовании на телефоне.
Таблицу, простую, как валенок, по своей сути и прекрасную, как строевая песня, по своей форме, отправил в личку. Сводные таблицы (сразу под твоей формой) нужно обновлять при изменениях, умную таблицу (на 200 строке) можно не трогать, она все пересчитает сама.

Iska 05-05-2021 16:38 2957091

a_axe, я правильно понимаю, что «умная таблица» в последних версиях Microsoft Excel — это как бы плоская недо-база данных, попытка дать чаcть возможностей БД тем пользователям электронных таблиц, которые не пользуют (и никогда не станут пользовать по своему почину) базы данных?

a_axe 05-05-2021 17:18 2957102

Цитата:

Цитата Iska
как бы плоская недо-база данных »

Ну с натяжкой - да, может даже и до этого не дотягивает.
Это модифицированный список из более ранних версий эксель. На мой взгляд, вещь удобная, характеризуется примерно так:
1. Таблица автоматически создает именованые диапазоны для столбцов, данных (все столбцы без заголовков), заголовков и т.д., которые меняются при внесении новых строчек/столбцов, что крайне удобно при использование ВПР() и еще удобнее для связки ИНДЕКС+ПОИСКПОЗ. Плюс наглядность формулы: название диапазона будет выглядеть как например "Данные[Скорость]", где "Данные" - имя таблицы, "Скорость" - заголовок столбца.
2. В список/УТ изначально встроены фильтры и сортировки.
3. У списков/УТ есть стили оформления, которые позволяют мгновенно менять цвета заливок/сеток и т.д и т.п., а также автозаполнение формул. Тут важный момент, что если количество строк заранее неизвестно, то форматирование и формулы из незаполненной части могут увеличивать объем файла. После переделки файла из "просто отформатированного" - без стилей ячейки - в УТ размер файла снизился с жутких 14мБт до 900 кБт за счет того, что резервных строк не было, а форматирование определялось стилем. Правда файл изначально был бестолковый.
4. Заставить конечного пользователя использовать УТ это примерно как объяснять, почему в Word нужно оформлять через стили (это не в ваш огород камень, я помню вашу версию офиса :) , но многие от УТ действительно отбрыкиваются как могут).

Iska 05-05-2021 18:32 2957111

a_axe, спасибо, ясно.

Цитата:

Цитата a_axe
…почему в Word нужно оформлять через стили »

Мне повезло, что в своё время я прикупился хорошей книгой «Running Word 6» и с тех пор навсегда впитал в себя стилевое оформление.

Tigr 05-05-2021 22:49 2957133

Цитата:

Цитата Iska
Можно сократить число формул за счёт использования формулы массива (Ctrl-Shift-Enter): »

На мой взгляд ничем принципиально по громоздкости не отличается. Отправил бы Вам оригинальную таблицу, но ЛС (как написал выше) не отправить
Цитата:

Iska превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
а почты нет (или я ее потерял).
Цитата:

Цитата a_axe
В оригинальной таблице 51 уникальное значение товара »

Всего 4 и больше в обозримом будущем не будет (могу прокомментировать в ватсапе или подобном мессенджере).
Цитата:

Цитата a_axe
Тем проще разместить далеко внизу обычную умную таблицу, которая мешать не будет, и в которую будут транслироваться все данные из твоей формы. Из этой таблицы можно достать любую выборку с помощью сводной таблицы »

Это сложно для меня (как и массивы Iska) - если потом потребуется что-то изменить, мне придется снова въезжать в тему, а СУММЕСЛИ усвоить просто. Пожалуй, уберу все данные и таки выложу оригинальную таблицу в окончательном варианте от YuS_2.

Оригинальная таблица без сумм выручки по заказам (можете подставить любые суммы и посмотреть - как это будет считаться) и с вариантом решения проблемы (справа от колонки дневной выручки), к к-му пришли с YuS_2.

Iska 05-05-2021 23:41 2957135

Цитата:

Цитата Tigr
а почты нет (или я ее потерял). »

Есть в профиле: Отправить сообщение по E-mail.

Tigr 05-05-2021 23:45 2957136

Цитата:

Цитата Iska
Есть в профиле: Отправить сообщение по E-mail »

Мне в почту форума сыпалось столько спама, что бросил ее проверять уже в первые годы. Неужели туда можно прицепить не "осзоновскую" и она не наполнится мусором ?

Iska 06-05-2021 06:51 2957156

Там же не напрямую отсылка идёт, а через форум. Адрес нигде не «светится».

Tigr 06-05-2021 13:18 2957188

Цитата:

Цитата Iska
Адрес нигде не «светится» »

Да, но спам сыпался как из рога изобилия.

Tigr 06-05-2021 19:50 2957212

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


Время: 09:38.

Время: 09:38.
© OSzone.net 2001-