Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Необходимо сгруппировать данные из нескольких таблиц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Необходимо сгруппировать данные из нескольких таблиц
dimakissel2018 Дата: Понедельник, 20.03.2023, 00:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
Добрый день!

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

В примере в закладке "Условие" есть 4 таблицы. В каждой наименование определенного перечня продукции и количество этого товара, которое было продано за отчетный период. Во всех 4-х таблицах есть как товары, которые продавались на протяжении всех 4-х месяцев, так и товары, которые продавались 1 или 2 или 3 месяца. Количество товаров в каждой таблице разное.

Прошу помочь и объяснить как можно в закладке "Решение" включить в итоговую таблицу только те товары, которые продавались в каждом из четырех месяцев. Очередность выстраивания товара - начинать сверху вниз от самого продаваемого по сумме 4 месяцев товара до самого мало продаваемого по сумме 4 месяцев внизу списка.

Заранее большое спасибо!
К сообщению приложен файл: zadachka.xlsx (12.3 Kb)


Все будет excel

Сообщение отредактировал dimakissel2018 - Понедельник, 20.03.2023, 08:09
 
Ответить
СообщениеДобрый день!

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

В примере в закладке "Условие" есть 4 таблицы. В каждой наименование определенного перечня продукции и количество этого товара, которое было продано за отчетный период. Во всех 4-х таблицах есть как товары, которые продавались на протяжении всех 4-х месяцев, так и товары, которые продавались 1 или 2 или 3 месяца. Количество товаров в каждой таблице разное.

Прошу помочь и объяснить как можно в закладке "Решение" включить в итоговую таблицу только те товары, которые продавались в каждом из четырех месяцев. Очередность выстраивания товара - начинать сверху вниз от самого продаваемого по сумме 4 месяцев товара до самого мало продаваемого по сумме 4 месяцев внизу списка.

Заранее большое спасибо!

Автор - dimakissel2018
Дата добавления - 20.03.2023 в 00:41
msi2102 Дата: Понедельник, 20.03.2023, 10:22 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Думаю для Вас будет самое простое это изменить формат данных и сделать Сводную таблицу
К сообщению приложен файл: zadachka_1.xlsx (22.2 Kb)
 
Ответить
СообщениеДумаю для Вас будет самое простое это изменить формат данных и сделать Сводную таблицу

Автор - msi2102
Дата добавления - 20.03.2023 в 10:22
Pelena Дата: Понедельник, 20.03.2023, 10:48 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Вариант с консолидацией данных.
Данные -- Консолидация. Выводим все значения, затем формулой выбираем нужные, фильтруем, сортируем
Второй вариант через Power Query
К сообщению приложен файл: zadachka1.xlsx (14.4 Kb) · zadachka2.xlsx (26.6 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВариант с консолидацией данных.
Данные -- Консолидация. Выводим все значения, затем формулой выбираем нужные, фильтруем, сортируем
Второй вариант через Power Query

Автор - Pelena
Дата добавления - 20.03.2023 в 10:48
dimakissel2018 Дата: Понедельник, 20.03.2023, 11:34 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
msi2102, большое спасибо за ваш вариант решения вопроса. Немного надо еще повозится, чтобы удалить строки с пустыми значениями в разных периодах. Но в целом все работает, спасибо!


Все будет excel
 
Ответить
Сообщениеmsi2102, большое спасибо за ваш вариант решения вопроса. Немного надо еще повозится, чтобы удалить строки с пустыми значениями в разных периодах. Но в целом все работает, спасибо!

Автор - dimakissel2018
Дата добавления - 20.03.2023 в 11:34
dimakissel2018 Дата: Понедельник, 20.03.2023, 11:37 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
Pelena, огромное спасибо за оба варианта! Пробую сейчас консодидацию. На практике у меня сейчас в работе 4 массива с суммарно 36 тыс позициями для обработки. Спасибо за помощь!


Все будет excel
 
Ответить
СообщениеPelena, огромное спасибо за оба варианта! Пробую сейчас консодидацию. На практике у меня сейчас в работе 4 массива с суммарно 36 тыс позициями для обработки. Спасибо за помощь!

Автор - dimakissel2018
Дата добавления - 20.03.2023 в 11:37
Gustav Дата: Понедельник, 20.03.2023, 13:34 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Пользуясь интересным случаем, предложу своё решение на новомодных функциях. Конечно, для версии Excel 2010 это еще далеко завтрашний день, но когда-то надо начинать хотя бы знакомиться, чтобы когда-нибудь успеть. Я сам еще только учусь их использовать, поэтому, возможно, решение далеко от идеала, доступного для этих функций, но будем стремиться. Ведь идея решить всю задачу формулой в одной ячейке сама по себе достаточна заманчива.

Мега-формула разработана в веб-версии Excel и предназначена для помещения в ячейку B6 листа "Решение". При проектировании подобных формул довольно насущно встает вопрос представления их текста в удобоваримом формате (даже представить отказываюсь такую формулу, введенную в ячейку в виде традиционной длинной строки, без форматирующих пробелов и переводов строк). Поэтому использую тэг VBA для ее прозрачного представления здесь. К сожалению, при этом нельзя использовать мгновенное переключение между языками функций, но параллельные имена функций всегда можно узнать из Интернета (если это потребуется англоязычному читателю Форума).

[vba]
Код
=LET(
comm1; "исходные диапазоны месяцев - из двух колонок";
январь;   Условие!E5:F18;
февраль;  Условие!H5:I23;
март;     Условие!K5:L22;
апрель;   Условие!N5:O19;

comm2; "диапазоны месяцев с добавленным номером месяца - в третьей колонке";
янвРазв;  РАЗВЕРНУТЬ(январь;;3;1);
февРазв;  РАЗВЕРНУТЬ(февраль;;3;2);
марРазв;  РАЗВЕРНУТЬ(март;;3;3);
апрРазв;  РАЗВЕРНУТЬ(апрель;;3;4);

всеМес;   ВСТОЛБИК(янвРазв;февРазв;марРазв;апрРазв);
уникИмя;  СОРТ(УНИК(ИНДЕКС(всеМес;0;1)));

comm3; "уникальные сочетания наименования и номера месяца";
уник;     УНИК(ГСТОЛБИК(ИНДЕКС(всеМес;0;1);ИНДЕКС(всеМес;0;3)));
count;    MAP(уникИмя; LAMBDA(cell; СЧЁТЗ(ФИЛЬТР(ИНДЕКС(уник;0;1);ИНДЕКС(уник;0;1)=cell))));

comm4; "в скольки месяцах встречается каждое наименование? оставляем те, которые во всех 4-х";
счет;     ГСТОЛБИК(уникИмя; count);
счет4;    ФИЛЬТР(ИНДЕКС(счет;0;1);ИНДЕКС(счет;0;2)=4);

comm5; "вычисление общих сумм для оставшихся наименований и сортировка по убыванию";
summa;    MAP(счет4; LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2);ИНДЕКС(всеМес;0;1)=cell))));
итог;     СОРТ(ГСТОЛБИК(счет4; summa);2;-1);

comm6; "вычисление сумм по месяцам для оставшихся наименований";
сумм1;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=1)))));
сумм2;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=2)))));
сумм3;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=3)))));
сумм4;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=4)))));

ГСТОЛБИК(ИНДЕКС(итог;0;1); сумм1; сумм2; сумм3; сумм4; ИНДЕКС(итог;0;2))
)
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеПользуясь интересным случаем, предложу своё решение на новомодных функциях. Конечно, для версии Excel 2010 это еще далеко завтрашний день, но когда-то надо начинать хотя бы знакомиться, чтобы когда-нибудь успеть. Я сам еще только учусь их использовать, поэтому, возможно, решение далеко от идеала, доступного для этих функций, но будем стремиться. Ведь идея решить всю задачу формулой в одной ячейке сама по себе достаточна заманчива.

Мега-формула разработана в веб-версии Excel и предназначена для помещения в ячейку B6 листа "Решение". При проектировании подобных формул довольно насущно встает вопрос представления их текста в удобоваримом формате (даже представить отказываюсь такую формулу, введенную в ячейку в виде традиционной длинной строки, без форматирующих пробелов и переводов строк). Поэтому использую тэг VBA для ее прозрачного представления здесь. К сожалению, при этом нельзя использовать мгновенное переключение между языками функций, но параллельные имена функций всегда можно узнать из Интернета (если это потребуется англоязычному читателю Форума).

[vba]
Код
=LET(
comm1; "исходные диапазоны месяцев - из двух колонок";
январь;   Условие!E5:F18;
февраль;  Условие!H5:I23;
март;     Условие!K5:L22;
апрель;   Условие!N5:O19;

comm2; "диапазоны месяцев с добавленным номером месяца - в третьей колонке";
янвРазв;  РАЗВЕРНУТЬ(январь;;3;1);
февРазв;  РАЗВЕРНУТЬ(февраль;;3;2);
марРазв;  РАЗВЕРНУТЬ(март;;3;3);
апрРазв;  РАЗВЕРНУТЬ(апрель;;3;4);

всеМес;   ВСТОЛБИК(янвРазв;февРазв;марРазв;апрРазв);
уникИмя;  СОРТ(УНИК(ИНДЕКС(всеМес;0;1)));

comm3; "уникальные сочетания наименования и номера месяца";
уник;     УНИК(ГСТОЛБИК(ИНДЕКС(всеМес;0;1);ИНДЕКС(всеМес;0;3)));
count;    MAP(уникИмя; LAMBDA(cell; СЧЁТЗ(ФИЛЬТР(ИНДЕКС(уник;0;1);ИНДЕКС(уник;0;1)=cell))));

comm4; "в скольки месяцах встречается каждое наименование? оставляем те, которые во всех 4-х";
счет;     ГСТОЛБИК(уникИмя; count);
счет4;    ФИЛЬТР(ИНДЕКС(счет;0;1);ИНДЕКС(счет;0;2)=4);

comm5; "вычисление общих сумм для оставшихся наименований и сортировка по убыванию";
summa;    MAP(счет4; LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2);ИНДЕКС(всеМес;0;1)=cell))));
итог;     СОРТ(ГСТОЛБИК(счет4; summa);2;-1);

comm6; "вычисление сумм по месяцам для оставшихся наименований";
сумм1;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=1)))));
сумм2;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=2)))));
сумм3;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=3)))));
сумм4;    MAP(ИНДЕКС(итог;0;1); LAMBDA(cell; СУММ(ФИЛЬТР(ИНДЕКС(всеМес;0;2); (ИНДЕКС(всеМес;0;1)=cell)*(ИНДЕКС(всеМес;0;3)=4)))));

ГСТОЛБИК(ИНДЕКС(итог;0;1); сумм1; сумм2; сумм3; сумм4; ИНДЕКС(итог;0;2))
)
[/vba]

Автор - Gustav
Дата добавления - 20.03.2023 в 13:34
AlienSphinx Дата: Понедельник, 20.03.2023, 20:22 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 8 ±
Замечаний: 0% ±

365
При проектировании подобных формул довольно насущно встает вопрос представления их текста в удобоваримом формате

есть такая штука
 
Ответить
Сообщение
При проектировании подобных формул довольно насущно встает вопрос представления их текста в удобоваримом формате

есть такая штука

Автор - AlienSphinx
Дата добавления - 20.03.2023 в 20:22
Egyptian Дата: Понедельник, 20.03.2023, 23:48 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Формульный вариант.
К сообщению приложен файл: 9048780.xlsx (16.1 Kb)
 
Ответить
СообщениеФормульный вариант.

Автор - Egyptian
Дата добавления - 20.03.2023 в 23:48
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!