如何在Google Sheet中筛选并按数量重复展示项目
解决方案
假设存储项目和数量的工作表名为数据源,其中项目列是A列(数据从A2开始),数量列是B列(数据从B2开始)。在目标工作表的任意空白单元格(比如A1)输入以下公式即可实现需求:
=FLATTEN(MAP(数据源!A2:A, 数据源!B2:B, LAMBDA(item, qty, IF(qty = "" || qty <= 0, , SEQUENCE(qty, 1, item, 0)))))
公式逻辑拆解
MAP:逐个遍历数据源中每一行的项目和数量,将这两个值传递给LAMBDA函数处理LAMBDA(item, qty, ...):定义核心处理规则:如果数量为空或小于等于0,直接返回空值;否则生成一个长度等于数量的数组,数组里的每个元素都是当前项目(SEQUENCE(qty,1,item,0)表示生成qty行1列的数组,初始值为item,步长设为0,确保所有元素都是同一个项目)FLATTEN:把MAP生成的多维数组展开成一维列表,最终呈现出按数量重复的项目序列
效果验证
对应你提供的数据源:
| 项目 | 数量 |
|---|---|
| A | 1 |
| B | 3 |
| C | |
| D | |
| E | 2 |
| F | 1 |
公式输出结果为:
| 项目 |
|---|
| A |
| B |
| B |
| B |
| E |
| E |
| F |
完全匹配你的预期效果。
内容的提问来源于stack exchange,提问作者Stickman
相关产品推荐
相关产品推荐

