желаемый макет на самом деле не подходит для правильных сводных таблиц. Вам нужна действительно плоская структура таблицы, чтобы вы могли фильтровать лайки без одновременного скрытия дислайков.
Вы можете легко преобразовать свои данные с помощью Power Query. Загрузите данные в Power Query Editor, затем разделите каждый столбец вопроса разделителем "," (запятая с последующим пробелом). Это разделит каждый ответ на отдельный столбец с вопросом в заголовке, добавленным .1, .2 и т. Д.
Затем выберите имя столбца и нажмите «Отключить другие столбцы». Заголовки вопросов теперь будут в колонке атрибутов. Разделить этот столбец атрибута разделителем "." (точка) и удалите столбец с разделенными числами.
Наконец, переименуйте столбцы в Вопрос и ответ.
Вот код М, который генерируется при этом.
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"like", type text}, {"dislike", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "dislike", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), {"dislike.1", "dislike.2", "dislike.3", "dislike.4", "dislike.5"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"dislike.1", type text}, {"dislike.2", type text}, {"dislike.3", type text}, {"dislike.4", type text}, {"dislike.5", type text}}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "like", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), {"like.1", "like.2", "like.3", "like.4"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"like.1", type text}, {"like.2", type text}, {"like.3", type text}, {"like.4", type text}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type2", {"Name"}, "Attribute", "Value"),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}),
#"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Delimiter2",{{"Attribute.1", type text}, {"Attribute.2", Int64.Type}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type3",{"Attribute.2"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Attribute.1", "question"}, {"Value", "Answer"}})
in
#"Renamed Columns"
Полученная таблица выглядит следующим образом:
Если ваши исходные данные получают больше строк, просто обновите запрос.
Теперь у вас есть таблица, которую можно использовать в сводных таблицах без ущерба для каких-либо данных.