Excel数据透视取决于标题值
我想在Excel中创build一个数据透视表,下面是我的场景。 我有一个5列的Excel表,其中1,2,3列有3个不同的人名(person1,person2,person3)作为标题,相应的值将是“是”或“否”。 第4栏有数量和第5栏将有每个人的份额。 这个份额是根据前三列中的值(是/否)计算的,我使用的公式是
(D1/COUNTIFS(A1:C1,"Yes")) ie, dividing the (amount/ count( of persons having Yes value)) Person1 Person2 Person3 Amount PerHeadShare Yes Yes No 200 100 Yes Yes Yes 300 100 No Yes No 200 200 No No Yes 100 100
现在我的要求是创build一个两列的数据透视表
-
column1应该有3行与Person1,Person2和Person3
-
第2栏应该有每个人拥有的金额份额
Name Sum Person1 200 Person2 400 Person3 200
如果你有使用SQL的经验,你可以尝试这样的事情:
数据选项卡>从访问>将文件筛选器更改为All Files (*.*)
并select您的Excel文件>打开>确定>select数据透视表,新build工作表,然后select属性…>定义选项卡>命令types:SQL,然后input这在命令文本中:
SELECT Name, Sum( PerHeadShare ) As [Sum] FROM ( SELECT 'Person1' As Name, Person1 AS y, * FROM [Sheet1$] UNION ALL SELECT 'Person2' As Name, Person2 AS y, * FROM [Sheet1$] UNION ALL SELECT 'Person3' As Name, Person3 AS y, * FROM [Sheet1$] ) WHERE y = 'Yes' GROUP BY Name
单击确定>确定>将名称字段拖到行标签,将总和字段拖到值,然后重命名数据透视表中的标头。
在命令文本中,“Sheet1”必须更改为表单的名称,其中数据后面带有$,或者命名范围不带$ like [named Range]
,或者表单中的特定范围如[Sheet1$B2:F6]
如果您使用Excel 2010或更高版本,使用Power Query或PowerPivot可以更轻松一点(我有Excel 2007,所以我无法尝试)。
我不确定这是你想要的。 这还是相当多的人工工作。 在我看来你目前的数据结构不是很适合数据透视表,但我可能是错的,并希望学习如何使用数据透视表。
- 复制名称的前3列,并粘贴到其他地方
-
然后在A8中input公式,并展开到其余的字段:
-
将范围A7:C11转换为值
-
将它粘贴到别的地方
-
总和在附加的列中