You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中实现装箱序号(1/n格式)的公式需求

Google Sheets 实现D列对应装箱序号格式

需求回顾

  • 当B列(所需装箱数)为1时,D列可填1/1或留空
  • 当B列大于1时,D列需依次生成1/N、2/N…N/N(N为对应B列的数值),与C列重复的产品名称一一对应

D列公式实现

直接在D列首行(如D2)输入以下数组公式,按回车后会自动填充整列:

=INDEX(FLATTEN(SPLIT(QUERY(BYROW(A2:B, LAMBDA(r, LET(n, INDEX(r, 2), IF(n > 0, TEXTJOIN("×",, SEQUENCE(n)&"/"&n), "")))),, 9^9), "×")))

公式逻辑说明

  1. 逐行处理数据:BYROW(A2:B, LAMBDA(r, ...))遍历每一行的产品名称和装箱数
  2. 简化变量引用:LET(n, INDEX(r, 2), ...)将当前行的装箱数赋值给变量n
  3. 生成序号序列:TEXTJOIN("×",, SEQUENCE(n)&"/"&n)针对每个n,生成1/n到n/n的字符串并以×分隔
  4. 拼接所有行结果:QUERY(..., 9^9)把所有行生成的序号字符串拼接成一个长文本
  5. 拆分并展开数组:SPLIT(...)用×拆分长文本,FLATTEN(...)将多维数组转为一维,完美匹配C列的展开结构
  6. 返回数组结果:INDEX(...)确保公式输出数组,自动适配整列填充

自定义调整(可选)

如果需要在装箱数为1时让D列留空,只需修改公式中的条件判断部分:

=INDEX(FLATTEN(SPLIT(QUERY(BYROW(A2:B, LAMBDA(r, LET(n, INDEX(r, 2), IF(n > 0, IF(n=1, "", TEXTJOIN("×",, SEQUENCE(n)&"/"&n)), "")))),, 9^9), "×")))

内容的提问来源于stack exchange,提问作者Stickman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:42:47