我有一张表格,当我输入产品详细信息时,会生成一个内部 4 个字符的代码……通常是 4 个字母(例如 ABCD 或 BADC)。这只是基于简单的 VLOOKUP 和 CONCAT 函数。我真正想要的输出是 4 个字母的代码,后跟一个 3 位数字(例如 ABCD001 或 BADC007)。我希望这个数字根据字母顺序排列,因此如果 ABCD001 存在,则输出 ABCD002,或者如果 BADC007 存在,则输出 BADC008,依此类推。
我在做任何事情时都遇到了麻烦,并想知道我是否错过了一些简单的东西。
答案1
罗恩指出了本应更明显的答案在评论中。如下面的屏幕截图所示,A 列的设置如下,您可以在其中使用此公式B2
:
=A2&TEXT(COUNTIF(A$2:A2,A2),"000")
如果您希望 ID 号作为其自己的字段,则可以使用我最初在下面提供的字段。如果您担心有人手动分配无序的 ID 号,或者您正在导入旧数据,其中 ID 文本的数量可能等于或不等于最大 ID 号,您可能仍想使用MAXIFS()
:
=A2&TEXT(MAXIFS(B$1:B1,A$1:A1,A2)+1,"000")
如果信息可以拆分成多列,则可以这样做。看起来您希望 4 个字母单独放在一个单元格中,所以这样做是可行的。您的数据最终将如下所示:(如果您愿意,可以隐藏 B 列)
中的公式B1
是=MAXIFS(B$1:B1,A$1:A1,A2)+1
。请注意使用绝对 ( B$1
) 与相对 ( B1
) 范围引用。$1
当您向下复制公式(或用公式填充表格)时, 不会改变,但1
会更新,因此它始终指向当前行正上方的行(因为我们从第 2 行开始)。
中的公式C1
更简单,仅为=CONCAT(A2,TEXT(B2,"000"))
。