假设我有以下问题列表:
- 优先级:1-5(紧急程度)
- 影响:1-5(有多少人会受到该问题的影响)
- 描述:15 个字符(非常简短的描述)
我希望看到的是:
impact 1 2 3 ...
priority
1 network fail password blocked
2 badge issue
3 toolbar hidden
...
我在网上看到的只有非常有限的例子,似乎无法应对不同文本的显示
是否可以轻松做到这一点或者是否需要更复杂的 VBA?
如果出现多个值,则CELL
只需附加“,”
编辑:
Sample input data
Description Impact Priority
network fail 1 1
toolbar hidden 2 3
password blocked 3 1
...
答案1
看我的答案Stackoverflow 上也有类似的问题。
由于您使用的是 Excel 2013,因此您必须安装免费的 MS 插件Power Query*
按着这些次序:
- 在 Power Query 中导入数据(将输入定义为表格)
转到数据 > 获取和转换 > 从表格(Excel 2016)或 Power Query > Excel 数据 > 从表格(Excel 2013 和 2010) - 选择“影响”列
- 在功能区变换上,选择数据透视列
- 值列 = 描述
- 聚合价值函数 = 无聚合
- 在功能区变换上,选择数据透视列
- 单击“主页”选项卡中的“关闭并加载”
M 代码是这个
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Description", type text}, {"Impact", Int64.Type}, {"Priority", Int64.Type}}),
#"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Changed Type", {{"Impact", type text}}, "de-CH"), List.Distinct(Table.TransformColumnTypes(#"Changed Type", {{"Impact", type text}}, "de-CH")[Impact]), "Impact", "Description")
in
#"Pivoted Column"
.* 从 MS Office 2016 开始,它已完全集成到 Excel 中获取并转换功能。