怎么根据总箱数编排箱号? wps中sum+if+&公式快速搞定
脚本之家
粉丝求助SOS:如何根据总箱数排箱号序号?
如下图所示:
A列为已知的总箱数,B列为我们想要得到的箱号序号。
比如,A1总箱数5,那么箱号就是1-5;A2总箱数1,那么箱号要上接前5箱,返回箱号6;A3总箱数10,那么箱号上接前6箱,返回箱号7-16;A4总箱数1,那么箱号上接前16箱,返回箱号17。
原理就是这么个意思。
小编给到的解决方案是sum+if+&,运用“累计”与“逻辑”的思维,快速实现最终的目标。
第一步:获取箱号起始数字
我们可以这样输入公式:
=SUM(A$1:A1,1)
当前行之前所有箱数的累计和加1,表示当前范围的第一个箱号。
A1是文本,SUM函数忽略它(视为0),不影响数字计算。
运算过程原理:
- SUM(A$1:A1,1)=0+1=1
- SUM(A$1:A2,1)=(0+5)+1=6
- SUM(A$1:A3,1)=(0+5+1)+1=7
- SUM(A$1:A4,1)=(0+5+1+10)+1=17
第二步:获取箱号结束数字
我们可以这样输入公式:
="-"&SUM(A$1:A2)
包括当前行在内所有箱数的累计和,表示当前范围的最后一个箱号。
A1是文本,SUM函数忽略它(视为0),不影响数字计算。
运算过程原理:
- "-"&SUM(A$1:A2)=-(0+5)=-5
- "-"&SUM(A$1:A3)=-(0+5+1)=-6
- "-"&SUM(A$1:A4)=-(0+5+1+10)=-16
- "-"&SUM(A$1:A5)=-(0+5+1+10+1)=-17
第三步:条件判断
添加IF函数逻辑判断:
=IF(A2=1,"","-"&SUM(A$1:A2))
IF 条件:
- 如果箱数=1,返回空字符串(""),表示只有一个箱号(只显示起始数字)。
- 如果箱数 > 1,返回 "-" & SUM(A$1:A2)
SUM(A$1:A2) 在行n时计算从A1(标题,忽略)到A_n(当前行)的累计箱数(结束数字)。
意义:
结束数字=到当前行为止所有箱数的累计和。条件判断确保箱号格式正确,是单个数字或范围。
最后:
=C2&D2
&连接操作:
将起始数字和条件部分的结果连接起来。
结果格式:
箱数=1时,为“起始数字”;箱数>1时,为“起始数字-结束数字”。
我们可以将辅助列区域删除,用一个整体公式表示即可:
=SUM(A$1:A1,1)&IF(A2=1,"","-"&SUM(A$1:A2))