Excel基于string匹配增加序列号

根据字符串匹配自动递增

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

CST和VAT按随机顺序手动input。

希望有一个公式。 不幸的是我不知道VBA。 提前致谢。

在B4公式中:

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

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

Ctrl + Shift + input在B8中input以下数组公式,并将其向下拖动:

 =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或VAT以外的任何内容,它将返回最后一个增值税+ 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,""))