Excel基于字符串匹配增加序列号

时间:2017-05-30 06:50:39

标签: excel

Auto increment based on string match

如何为增值税自动生成下一个CST编号为1238和204。 我尝试了INDEX& MATCH,MAX,COUNTIF全部抛出循环引用错误。

CST&增值税是以随机顺序手动输入的。

希望有一个公式。不幸的是,我不了解VBA。提前谢谢。

2 个答案:

答案 0 :(得分:2)

在B4公式中将是:

=MAX(IF($A$2:$A3=A4;$B$2:$B3;0))+1

这是数组公式,当您确认此公式时,必须按ctrl + shift + Enter

答案 1 :(得分:1)

使用 Ctrl + Shift + 在B8中输入以下数组公式并将其向下拖动:

=IF(A8<>"",IF(A8="CST",INDEX($B$2:B7,MAX(IF($A$2:A7="CST",ROW($A$2:A7)-ROW(INDEX($A$2:A7,1,1))+1)),0)+1,INDEX($B$2:B7,MAX(IF($A$2:A7="VAT",ROW($A$2:A7)-ROW(INDEX($A$2:A7,1,1))+1)),0)+1),"")

编辑:上述公式有一个缺陷,如果您在A栏中包含CST或增值税以外的任何内容,它将返回上一个增值税值+ 1.使用以下内容来避免这种情况:

=IF(A12="CST",INDEX(B6:B11,MAX(IF(A6:A11="CST",ROW(A6:A11)-ROW(INDEX(A6:A11,1,1))+1)),0)+1,IF(A12="VAT",INDEX(B6:B11,MAX(IF(A6:A11="VAT",ROW(A6:A11)-ROW(INDEX(A6:A11,1,1))+1)),0)+1,""))