拼接各列内容再分组统计

某个表格的第1列是人名,后面多列是此人某次采购的产品,一个人一次可以采购多个同样的产品,也可以多次采购。

ABCD
1JohnAppleAppleOrange
2PaulGrape
3JohnPear
4SteveLycheeGrape
5JessicaApple

需要整理成交叉表,上表头是产品,左表头是人名。

EFGHIJ
1NameAppleOrangePearGrapeLychee
2Jessica1
3John211
4Paul1
5Steve11

使用 SPL XLL

=spl("=?.news( ~.m(2:).select(~); get(1)(1):Name, ~ ).pivot@s(Name; #2,count(#2))",A1:D5)

Picture3png

函数news用序列的每个成员生成一条记录,函数 get 在多层循环中按层数取循环变量,~.m(2:)表示当前成员的第 2 个到最后 1 个子成员,pivot@s行转列,并计算每组数据。(1)是序列的第 1 个子成员,#1 是二维表的第 1 列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值