Страницы: 1
RSS
Как таблицу, похожую на сводную таблицу, привести к виду обычной таблице?, Приведение одной таблицы в формат другой
 
Добрый день!

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

Спасибо!
 
можно так
По вопросам из тем форума, личку не читаю.
 
В Power Query -два клика мышом:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Другие столбцы с отмененным свертыванием" = Table.UnpivotOtherColumns(Источник, {"Название", "Код", "Категория"}, "Продукт", "Значение")
in
    #"Другие столбцы с отмененным свертыванием"
 
Из избушки
 
Цитата
Михаил Л написал:
Из избушки
вот чем она плоха так тем что в погоне за краткостью выползает летучесть.
По вопросам из тем форума, личку не читаю.
 
Коллеги, нам для полноты раскрытия темы макроса не хватает :D
 
Цитата
БМВ написал:
выползает летучесть
Не поэтому ли вы в ней не соревнуетесь?
 
Нет, задач никто не предлагает. А еще время не всегда в избытке..
 
Михаил Л, ну почему ж , да и не обязательно там , можно и в обычных темах, но все ж стараюсь не в ущерб производительности укорачивать.
Изменено: БМВ - 10.01.2021 17:01:35
По вопросам из тем форума, личку не читаю.
 
В моем предложенном решении формулу в столбце Е можно заменить на формулу с Индекс. Ну и раздельно поддавать значения в параметры Индекс
 
да можно конечно, для прикола просто , сравнил скорость вариантов
на 10000 пересчетов
10,32031
8,730469
быстрее мой вариант, но это по тому что я ленивый, если сделал  на основе индекса и мтолбец определеял бы по продукту, то
7,453125
По вопросам из тем форума, личку не читаю.
 
Вариант для столбца Е
(Обновил с добавлением всех условий вместо одного)
Код
=IFERROR(INDEX($D$5:$F$14,AGGREGATE(15,6,ROW($A$1:$A$20)/(($A$5:$A$14=$A25)/($B$5:$B$14=$B25)/($C$5:$C$14=$C25)/($D$5:$F$14<>"")),COUNTIFS($A$25:$A25,$A25,$C$25:$C25,$C25,$B$25:$B25,$B25)),MATCH($D25,$D$4:$F$4,)),"")
Изменено: memo - 10.01.2021 20:02:21
 
alexleoix, Спасибо Вам за компактное решение.
 
Спасибо всем за решение вопроса. Узнала много нового  :)  
 
Вот вам макрос, можете поиграться с таймерами (замерами)
 
И еще вариант со всеми столбцами.
 
Цитата
alexleoix: для полноты раскрытия темы макроса не хватает
Редизайнер таблиц из Приёмов
Редизайнер таблиц с сайта excelworld
Изменено: Jack Famous - 11.01.2021 09:23:49
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Telegram, Excel Everyday (https://t.me/excel_everyday)
#УР2 #Сводные_таблицы
Страницы: 1
Наверх