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,所以我无法尝试)。

我不确定这是你想要的。 这还是相当多的人工工作。 在我看来你目前的数据结构不是很适合数据透视表,但我可能是错的,并希望学习如何使用数据透视表。

  1. 复制名称的前3列,并粘贴到其他地方
  2. 然后在A8中input公式,并展开到其余的字段: 在这里输入图像说明

  3. 将范围A7:C11转换为值

  4. 将它粘贴到别的地方 在这里输入图像说明

  5. 总和在附加的列中