根据另一列

时间:2015-10-18 11:06:33

标签: excel pivot-table distinct-values unique-values

我有四个值:名称,成熟度,已交换?,SizeofName

http://i.stack.imgur.com/s7Czc.png

实体(常量) - 表示实体的名称 成熟度(可变) - 在几个月内,他们与我们一起活动多久(即1个月等) 已交换?(正确,错误) - 如果是,则其值为TRUE
SizeofEntity (常数) - 这个实体有多大?此值因不同的名称而异,但对于其名称而言是不变的。自己的名字(即实体A总是12,无论其成熟程度如何,而实体B将是19,无论其成熟程度如何)

我想做的事情:

使用数据透视表,我能够创建一个行中有Maturity的表,以及列中每个成熟度的交互计数。

我正在努力的部分是总SizeofEntity。基本上,我希望它总和SizeofEntity。问题是如果实体A在名称部分重复,它将在此计算中加倍。

实施例

实体A在期限1和期限2中显示一次(大小= 12),实体B在期限1中显示一次(大小= 19)。

我希望在价值部分看到的是成熟度1中的成就度1的总量31和成就度2中的12

http://i.stack.imgur.com/3Mbcr.png

现在,如果实体A要在成熟度1中进行两次交互,我希望大小保持相同,但要增加的交互次数。通过当前结构化的方式,因为实体A重复,现在交互增加1,但实体的大小也增加(从3143)。

如果在另一列中重复实体名称,是否有办法让Excel忽略SizeofEntity中的值,或者是否有另一种方法可以实现这一点?

图像中提供的数据是一个小例子。我正在处理一个包含300多个不同名称的大得多的数据集,每个成熟期有数百个交互。

1 个答案:

答案 0 :(得分:0)

我使用以下逻辑实现了您的预期结果。

在列E上创建一个名为EntityConcat的列。通过此列,您可以检测是否有重复的实体和成熟度对。 我使用这个公式将它们连接起来然后拖了下来:

  

= A2&安培; B2

在另一列(F)中检测它们是否重复并仅标记第一次出现:

  

= IF(COUNTIF(E $ 2:E2,E2)= 1,1, “”)

最后,我创建了另一个列,仅显示第一次出现的大小:

  

= IF(F2 = 1,D2,0)

现在在您的数据透视表上,您可以计算“SizeofEntity”的总出现次数,但应该将此最后一列的值相加,而不会找到重复的实体大小。

希望这就是你所追求的。