Страницы: 1
RSS
Преобразовать плоскую таблицу в кросс-таблицу
 
Здравствуйте! Мне нужно особое транспонирование. Все перепробовал, быстрого решения к сожалению не нашел. Подскажите пожалуйста как сделать...
Изменено: vikttur - 20.07.2021 14:20:09
 
только это имеет мало отношения к транспонированию
Код
=ЕСЛИ(СТОЛБЕЦ()=11;СТРОКА();ИНДЕКС($B:$B;(СТРОКА()-1)*4+СТОЛБЕЦ()-11))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
=ТРАНСП(ФИЛЬТР(B1:B8;A1:A8=СТРОКА()))
 
кросс
Соблюдение правил форума не освобождает от модераторского произвола
 
По условиям в ячейках К1 и К2:
Код
=IFERROR(INDEX($B$1:$B$8;AGGREGATE(15;6;ROW($1:$50)/($A$1:$A$8=$K1);COLUMN(A1)));"")
 
вариант (уже нет)
Код
let
    tableSource = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],

    tableGroup =
      Table.Group(
         tableSource,
         {"Столбец1"},
         {{"Сведено", each Text.Combine(_[Столбец2], "_--_"),
         type text}}),

    tableSplit =
      Table.SplitColumn(
         tableGroup,
         "Сведено",
         Splitter.SplitTextByDelimiter("_--_", QuoteStyle.Csv),
         {"Сведено.1", "Сведено.2", "Сведено.3", "Сведено.4"})
in
    tableSplit
Изменено: Andrey - 20.07.2021 13:36:10
 
Уже писал для какой-то темы
 
Тема: Преобразовать плоскую таблицу в кросс-таблицу
 
Еще вариант
Код
let
    tableSource = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],

    tableGroup =
      Table.Group(
         tableSource,
         {"Столбец1"},
         {{"Сведено", 
            each 
               Text.Combine(_[Столбец2], "_--_"),
            type text}}),

    tableSplit =
      Table.SplitColumn(
         tableGroup,
         "Сведено",
         Splitter.SplitTextByDelimiter("_--_", QuoteStyle.Csv), 
         List.Max(
            Table.Group(
               tableSource,
               {"Столбец1"},
               {{"Количество", 
                  each 
                     Table.RowCount(_), 
                  Int64.Type}})[Количество]))
in
    tableSplit
Изменено: Andrey - 20.07.2021 15:11:29
 
vikttur, название стандартное:
преобразовать таблицу
(не понимаю зачем люди используют слова не в том смысле что они значат, это не упрощает понимание задачи, а скорее наоборот уводит)
а подобные задачи появляются тут по несколько раз в месяц
и такое впечатление, что сколько решений на эту тему не вываливай - их понимают только тех, кто публикует такие решения, а следующий спросит "а как преобразовать мою таблицу?" хотя на сайте, без преувеличения, несколько сотен таких тем
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
преобразовать таблицу
Я тоже за лаконичность в названиях, но модераторам кажется, что это усложнит поиск  :D  
 
Цитата
Ігор Гончаренко написал: преобразовать таблицу
Предлагаю: "Преобразовать". Или "Таблица"... Да что там... "Табл" :)
Изменено: vikttur - 20.07.2021 14:19:50
 
Цитата
vikttur написал:
Предлагаю: "Преобразовать". Или "Таблица".
Это слишком лаконично, хотя...  :D  
 
пусть бросит в меня камень каждый кто обьяснит, что суть этой задачи не в том "что нужно преобразовать таблицу"
может это подвинет людей посмотреть и понять как преобразованы 300 предыдущих таблиц, чтобы не спрашивать как преобразовать именно его таблицу, а сделать это самостоятельно.
а тот, кто не поймет...
в первом сообщении обьяснит что во что он хочет преобразовать на конкретном файле-примере, вот так есть, вот так хочу))
и пусть себе множатся полностью одноименные темы, еща раз повторюсь, может их начнут читать

с моей точки зрения
и начальная и конечная таблица - плоские
что такое кросс-таблица я вообще не знаю, поэтому и не мог предложить такого названия, потому что не пользуюсь словами смысла, которых не понимаю
Изменено: Ігор Гончаренко - 20.07.2021 19:35:02
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
что такое кросс-таблица я вообще не знаю
Игорь не притворяйтесь  ;)
В целом, я с Вами согласен, но ведь как хорошо, написать и получить готовое решение. А с другой стороны, Вы помогли, я помог, ещё кто-то помог и у всех решения разные. Есть возможность самим, что-то вспомнить, увидеть новое. Да и просто общение ни кто не отменял. А если уж разбираться по поводу тем, то наверно vikttur, всё таки прав, здесь 80% тем подойдут под название "преобразование таблицы"
Изменено: msi2102 - 20.07.2021 21:12:05
 
Я конечно все понимаю, что не прав и все такое. Но вот вы когда вызываете профессионала для решения вашей проблемы, например сантехника, вы предварительно штудируете всю терминологию, изучаете это ремесло? Думаю ответ очевиден. Каждый из нас в чем-то непрофессионал. Я не первый год работаю в экселе, но именно данного сабжа я не знал. Даже не знал куда копать и как правильно назвать, что бы пробить по поиску. Поэтому обратился к профи.
 
Не нужно быть сантехником, чтобы поставить задачу специалисту. Покажите, какое слово из этих примеров непонятно человеку, который думает что разводной ключ - это такая штука для развода лохов )
- в ванне протекает кран холодной воды, нужно устранить течь (блин, течет, спасайте)
- заменить 2 метра ржавой трубы на пластиковую меньшего диаметра (поменять трубу);
- как правильно прикрепить кухонную мойку к дверке серванта с хрусталем :) (как прикрепить)
То, что подчеркнуто - варианты неправильной постановки задачи (общие слова, сантехник не поймет, с какими инструментами к Вам приходить).

Так же и здесь. Своими словами коротко сформулировать задачу по работе с таблицей.
Вы в заголовке написали пару слов, по которым можно понять, что нужно изменить вид таблицы. А дальше, как сантехнику, нужно догадываться:
переставить местами строки? поменять расположение строк и столбцов? разнести данные одной строки на разные? к значениям в столбце добавить текст из заголовка столбца? значения из диагонали  перенести в столбец? Это только несколько реальных задач по преобразованию таблиц, которые на днях решались на форуме. А их сотни разных.
 
Хорошо, спасибо за урок)  
 
Цитата
Dizeloid написал:
например сантехника, вы предварительно штудируете всю терминологию, изучаете это ремесло?
Неудачный пример:  я оплачиваю работу сантехника - зачем мне вникать в тонкости его ремесла? ))
 
Добрый день!
Схожее преобразование. Можно не решать, а отправить в тему или готовые решения.
Посижу потуплю сама )
Спасибо!
 
Цитата
Gingerka написал:
а отправить в тему или готовые решения
вам просто нужна сводная таблица с результатом в виде текста - DAX в помощь
Соблюдение правил форума не освобождает от модераторского произвола
 
написал 3 формулы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
buchlotnik,просто и красиво! ) спасибо большое
 
Ігор Гончаренко,
оооочень занятно, стащу формулу и изменю ее для немного другой задачи.

Прям то, что нужно!  
Страницы: 1
Наверх