分组汇总后再根据数量拼上不同文字

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 个子成员。

相关推荐
阿猿收手吧!1 分钟前
【C++】无锁原子栈:CAS实现线程安全
开发语言·c++·安全
写代码的【黑咖啡】3 分钟前
Python 中的自然语言处理工具:spaCy
开发语言·python·自然语言处理
沐知全栈开发5 分钟前
WSDL 语法详解
开发语言
wangmengxxw9 分钟前
设计模式 -详解
开发语言·javascript·设计模式
froginwe1111 分钟前
ECharts 样式设置
开发语言
清风~徐~来12 分钟前
【视频点播系统】AMQP-SDK 介绍及使用
开发语言
进击的小头14 分钟前
设计模式落地的避坑指南(C语言版)
c语言·开发语言·设计模式
凤年徐14 分钟前
容器适配器深度解析:从STL的stack、queue到优先队列的底层实现
开发语言·c++·算法
ujainu14 分钟前
Flutter + OpenHarmony 游戏开发进阶:虚拟摄像机系统——平滑跟随与坐标偏移
开发语言·flutter·游戏·swift·openharmony
金书世界16 分钟前
使用PHP+html+MySQL实现用户的注册和登录(源码)
开发语言·mysql·php