Транспонирование столбца и сохранение относительных значений

#excel

#excel

Вопрос:

Я узнаю намного больше о Excel, и это довольно весело. Я надеюсь, что смогу получить некоторую помощь здесь. У меня есть таблица данных, которая в основном выглядит следующим образом:

Перед изображением

Что я хочу сделать, так это создать когортный анализ. Я хочу перенести годы, а затем получить соответствующие значения для каждой компании. В принципе, я хочу, чтобы мой продукт выглядел так:

введите описание изображения здесь

Вы можете сказать, что это таблица типа когортного анализа. Я хочу, чтобы это было настроено для моих данных, чтобы я мог создать график, подобный этому:

введите описание изображения здесь

Таким образом, я вижу тенденцию в стоимости сделок для каждой компании. Я создал эти изображения вручную, и я не думаю, что это [время] эффективно для листа с более чем 300 строками данных. Любая помощь или рекомендации будут очень признательны

Ответ №1:

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

введите описание изображения здесь

Ответ №2:

Это довольно просто с Power Query, доступным в Windows Excel 2010 и O365.

  • Выберите столбец 1 и Fill Down
    • скопирует названия компаний в каждую строку
  • Выберите год и сводную
    • Столбец значений Cost of the Deal
  • Сгенерированный M-код также показывает некоторые настройки типов данных; переименование column1 и т.д.

введите описание изображения здесь

введите описание изображения здесь

M Код

 let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Deal Creation Year", Int64.Type}, {"Cost of deal", Currency.Type}}),
    #"Filled Down" = Table.FillDown(#"Changed Type",{"Column1"}),
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Filled Down", {{"Deal Creation Year", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Filled Down", {{"Deal Creation Year", type text}}, "en-US")[#"Deal Creation Year"]), "Deal Creation Year", "Cost of deal", List.Sum),
    #"Renamed Columns" = Table.RenameColumns(#"Pivoted Column",{{"Column1", "Company"}})
in
    #"Renamed Columns"
  

Комментарии:

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

2. @CourtneyKonieczko Спасибо за эту терминологию. И обратите внимание, что первый шаг моего предложения — заполнить первый столбец соответствующим образом.

Ответ №3:

Вам нужно заполнить столбец вашей компании, чтобы у вас был правильный набор данных. Вставьте столбец и используйте формулу, подобную этой, начиная с b2 =if(a2>0,a2,b1)

Затем вставьте этот столбец в качестве значений и удалите старый. Теперь выделите весь ваш набор данных и вставьте сводную таблицу. После этого сделайте строки company, столбцы year и значения cost.