拼接各列内容再分组统计
某个表格的第1列是人名,后面多列是此人某次采购的产品,一个人一次可以采购多个同样的产品,也可以多次采购。
A |
B |
C |
D |
|
1 |
John |
Apple |
Apple |
Orange |
2 |
Paul |
Grape |
||
3 |
John |
Pear |
||
4 |
Steve |
Lychee |
Grape |
|
5 |
Jessica |
Apple |
需要整理成交叉表,上表头是产品,左表头是人名。
E |
F |
G |
H |
I |
J |
|
1 |
Name |
Apple |
Orange |
Pear |
Grape |
Lychee |
2 |
Jessica |
1 |
||||
3 |
John |
2 |
1 |
1 |
||
4 |
Paul |
1 |
||||
5 |
Steve |
1 |
1 |
使用 SPL XLL
=spl("=?.groupc@r(~1;~.m(2:);1).pivot@s(~1:Name; ~2,count(~2))",A1:D5)
函数 groupc@r 对序列的成员按固定数量分组并进行列转行,~1 表示当前成员的第 1 个子成员,~.m(2:) 表示取当前成员的第 2 到最后一个子成员,pivot@s 行转列,并计算每组数据。
https://www.reddit.com/r/excel/comments/1ctnd42/trying_to_find_the_total_number_of_times_a_word/
英文版