求助:Google Sheet中实现多列采购量触发自动填充Item Name列
解决Google Sheet自动填充Item Name列的问题
场景假设
假设你的表格结构如下:
- A列:Item Name(需自动填充)
- B列:APPLE采购数量
- C列:ORANGE采购数量
- D列:GRAPES采购数量
- E列:PEAR采购数量
方案1:数组公式(一次性覆盖整列)
在A2单元格输入以下公式,可自动处理A列所有行的填充:
=BYROW(B2:E, LAMBDA(row, IFERROR(INDEX({"APPLE","ORANGE","GRAPES","PEAR"}, MATCH(TRUE, row>0, 0)), "")))
- 逻辑说明:
BYROW(B2:E, LAMBDA(row, ...)):遍历B到E列的每一行,将每行数据作为row参数传入后续逻辑MATCH(TRUE, row>0, 0):定位当前行中第一个数值大于0的单元格位置INDEX({"APPLE","ORANGE","GRAPES","PEAR"}, ...):根据定位到的位置,返回对应的产品名称IFERROR(..., ""):若当前行无任何数量输入,返回空值
方案2:单个单元格公式(下拉复用)
若不习惯数组公式,可在A2单元格输入以下公式,再下拉应用到所有需要填充的行:
=IFERROR(INDEX({"APPLE","ORANGE","GRAPES","PEAR"}, MATCH(TRUE, B2:E2>0, 0)), "")
该公式逻辑与数组版一致,仅需手动下拉完成批量应用。
特殊情况处理
若同一行多个数量列有数值输入,上述公式会返回第一个出现的产品名称。如需返回所有对应有数量的产品名,可替换为以下公式:
=BYROW(B2:E, LAMBDA(row, TEXTJOIN(", ", TRUE, FILTER({"APPLE","ORANGE","GRAPES","PEAR"}, row>0))))
它会用逗号分隔所有符合条件的产品名称。
内容的提问来源于stack exchange,提问作者Asen Ng
相关产品推荐
相关产品推荐

