不同的产品添加编号非常的简单,可以使用ROW函数来快速生成编号,但是如果要给相同的产品添加相同的编号,这个该怎么实现?
下图中,表一和表二是两个相同的表,唯一的区别就是表一中产品名称是经过排序的,而表二中的产品名称是没有排序的。
如何快速给有排序和无排序的相同产品添加相同的编号呢?
一、有排序的相同产品添加相同编号。
具体操作步骤如下:
1、在B3单元格输入一个1,选中B4单元格,在编辑栏中输入公式:=IF(C4=C3,B3,B3+1),按回车键回车。
2、将B4单元格的公式下拉填充至B22单元格即可。
3、公式解析。
=IF(C4=C3,B3,B3+1):如果C4单元格的内容和C3单元格的内容相等,那么返回B3单元格的值,否则返回B3单元格的值加1。当公式下拉到B7单元格时,公式变成:=IF(C7=C6,B6,B6+1),此时因为C7单元格的内容和C6单元格的内容不相等,所以返回的是B6+1,B6=1,所以结果为2。
4、完整动图演示如下。
二、无排序的相同产品添加相同编号。
具体操作步骤如下:
1、选中E3单元格,在编辑栏中输入公式:=IFERROR(VLOOKUP(F3,IF({1,0},F$2:F2,E$2:E2),2,0),MAX(E$2:E2)+1),按回车键回车。
2、将E3单元格中的公式下拉填充至E22单元格即可。
3、公式解析。
IF({1,0},F$2:F2,E$2:E2),2,0):用IF函数重新构建一动态区域,这个区域有两列,第一列是产品名称,起始单元格是F2,第2列是编号,起始单元格是E2,动态区域的结束行是当前公式所在行的上一行。
VLOOKUP(F3,IF({1,0},F$2:F2,E$2:E2),2,0):用VLOOKUP函数在IF函数构建的动态区域中精准查找产品名称对应的编号,如果找不到,会返回错误值。
=IFERROR(VLOOKUP(F3,IF({1,0},F$2:F2,E$2:E2),2,0),MAX(E$2:E2)+1):IFERROR函数可以用来捕获和处理VLOOKUP函数返回的错误值,如果VLOOKUP函数的计算结果为错误值,那么返回MAX(E$2:E2)+1,MAX函数可以返回当前行之前的最大序号,否则返回公式本身的结果。
4、完整的动图演示如下。
好了,今天就跟大家分享到这里,如果文章对您有帮助,可以转发分享给更多的朋友,创作不易,希望多多支持,谢谢!