我遇到过这个任务而且我遇到了很多困难。我已经尝试了数据透视表,但它没有给我想要的结果。唯一有效的是手动转置,但记录数量是5k奇数。
我在这里想要实现的是将公司行中的数据转换为列,以便在稍后阶段计算投票数和每家公司的平均值。
答案 0 :(得分:1)
数据透视表可以完成这项工作。您只需使用COUNTIFS
帮助列。注意单元格D2中的公式。
数据透视表看起来像这样(设置为表格布局)
当记录数量增长到大约10k或更多(或者只是我的慢速PC:/)时,COUNTIFS
可能会变得非常慢。发生这种情况时,解决方法是:首先对数据进行排序,然后仅在有限数量的单元格上使用COUNTIFS
。例如,在单元格D2处,公式将为=COUNTIFS(A2:A102,A2,B2:B102,B2)
,因此在您填写公式时,只计算100个记录而不是整个记录。
答案 1 :(得分:0)
如果您想要的是投票数和每家公司的平均值,那么可以通过多种方式完成。
使用数据透视表,将公司拖到行区域;将评级拖动到值区域两次。然后将其中一个评级的值字段设置更改为计数;另一方面是平均值。
添加一些格式和各种选项为您提供:
或者,如果您有一个组织(公司名称)列表,我们说,G3:Gn,以及您在A:C列中的数据表,您可以使用公式:
Count: H3: =COUNTIF($B$1:$B$1000,G3)
Average: I3: =AVERAGEIF($B$1:$B$1000,G3,C1:$C$1000)
尽可能填写。
答案 2 :(得分:0)
由于您提到PT不适合,假设RATING
在F2中,请尝试复制G3以适应:
=IF(AND(COLUMN()-7<COUNTIF($E:$E,$E3),$E2<>$E3),OFFSET($F3,COLUMN()-7,0),"")
然后将所有公式拖到右边,直到整个列显示为空白。请注意,这需要对TARGET ATTENDEE ORGANIZATION
列进行排序。