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