Excel某表格有2列。
A | B | |
1 | Apples | 3 |
2 | Apples | 0 |
3 | Bananas | 1 |
4 | Bananas | 6 |
5 | Cantaloupe | 0 |
6 | Kiwis | 2 |
7 | Kiwis | 2 |
8 | Kiwis | 1 |
要求:按第1列分组,如果组内第2列大于0则对当前行进行计数,否则不计数;计数结果等于1则附加Occurrence,否则附加 Occurrence 的复数形式。
A | B | |
1 | Apples | 1 Occurrence |
2 | Bananas | 2 Occurrences |
3 | Cantaloupe | 0 Occurrences |
4 | Kiwis | 3 Occurrences |
使用 SPL XLL
=spl("=E@b(?.group(~1;t=~.count(~2>0) / if(t==1,""Occurrence"",""Occurrences"")))",A1:B8)
函数 group 分组并计算每组数据,E@b 去掉列头,~1 表示序列的当前成员的第 1 个子成员。