0

我是一个 excel 新手,想知道 excel 是否具有执行以下操作的内置功能。

转这个数据:

Name  | Activity          | Option
Bob   | Monday Activities | Golf
Bob   | Tuesday Activities| Kayak
Marge | Monday Activities | Spa
John  | Tuesday Activities| Soccer
Liz   | Tuesday Activities| Spa

进入:

Name  | Monday Activities | Tuesday Activities
Bob   | Golf              | Kayak
Marge | Spa               |
John  |                   | Soccer
Liz   |                   | Spa
4

2 回答 2

1

Excel 将在某种程度上支持您在其数据透视图功能中寻找的内容,该功能将您提供的格式的数据转换为自定义的、用户定义的表格或图表。

Excel 2003 说明

Excel 2007 说明

该表将支持在第一列中列出唯一名称,在第一行中列出唯一活动,但对于选项,Excel 无法知道如何显示它们,并将尝试将它们转换为数字,因为可能不止一个每个名称/活动组合都可能存在选项。

最后,有些人可能会建议您使用 Excel 的转置功能。这是通过选择表并复制它来完成的。然后,您可以右键单击一个空单元格并选择Paste Special,然后选择Transpose。这只会翻转不是您要查找的行的列。

我建议您使用数据透视表功能,但考虑将选项值转换为数字。

祝你好运!

于 2009-03-19T17:14:35.600 回答
1

数据透视表允许您操作和显示数字数据,而不是诸如“kayak”之类的字符串,因此虽然您可以非常轻松地创建数据透视表,但它只会计算/求和等 kayak、soccer 等的实例,而不显示价值观。

您可以重新格式化数据以产生一些可以为您提供所需输出的近似值:

名称 活动 Golf Kayak Soccer Spa
鲍勃星期一 1
鲍勃星期二 1
玛吉星期一 1 约翰星期二 1
丽兹星期二 1
(上面可能无法正确显示,但如果使用选择性粘贴>文本粘贴到 Excel 中会正确显示)

但是,即使那样,您仍然必须使用 =GETPIVOTDATA 和其他公式的组合来获得令人满意的结果。由于非常有可能将错误引入数据(拼写、尾随空格等),这可能会变得非常混乱。考虑到这将需要你重新格式化数据(如果你这样做,你也可以按照你的意愿格式化它),我猜这对你来说可能没有多大用处。

实现您想要的东西所需的 VBA 非常重要,并且很大程度上取决于您的数据的确切布局以及哪些信息是已知的或可以从其他地方提取的,例如活动、名称。如果数据集不是很大,那么重新格式化的工作可能比尝试编程解决方案要少。

于 2009-03-20T07:48:45.967 回答