我想在 Excel 中将键/值对显示为列

我想在 Excel 中将键/值对显示为列

我在尝试以特定方式将 Excel 中的某些键/值对显示为列时遇到了麻烦。 注意:我已经找到了一种在 Python 中实现此目的的方法,因此这个问题主要出于好奇

我有一个由键/值对组成的小数据集:

物品
史蒂夫 苹果
史蒂夫 橙子
鲍勃 土豆
鲍勃 葡萄
鲍勃 樱桃
鲍勃 橙子
鲍勃 西瓜
最大限度 樱桃
最大限度 苹果
最大限度 土豆
最大限度 橙子

我的目标是简化数据并以“人员”(键)作为标签显示,并删除重复项:

史蒂夫 鲍勃 最大限度
- 苹果 土豆 樱桃
- 橙子 葡萄 苹果
- - 樱桃 土豆
- - 橙子 橙子
- - 西瓜 -

到目前为止,我最接近的做法是将所有内容都变成数据透视表,并将两个字段都设置为行,其中第一个字段为“人员”。 https://i.stack.imgur.com/x3nC4.png

这样可以将项目按正确的人排序,我“只需”将它们拆分到单独的列中。这看起来非常简单,但我不知道该怎么做。我相当确定这可以通过 VBA 轻松完成,但我想找到一种使用 Excel 默认工具的方法。

任何帮助都将不胜感激!

答案1

步骤1请将人员列复制到其他单元格,然后使用删除重复项(数据选项卡 > 数据工具组)获取唯一的人名。

第2步请复制人名,转到“主页”选项卡 > “剪贴板”组 > 展开“粘贴”选项 >转置(T)。然后您将获得人名作为头衔。

步骤3输入公式=IFERROR(INDEX($B$1:$B$12,SMALL(IF($A$1:$A$12=G$2,ROW($1:$12),4^8),ROW(A1))),"")以获取每个人的条目。请注意,由于此公式是数组公式,因此您需要在将其输入到公式栏后按 Ctrl + Alt + Enter 来添加数组的花括号。

在此处输入图片描述

相关内容