基于两列创建新的唯一 ID - Excel

Create New Unique ID Based on Two Columns - Excel

我在工作中遇到了一个问题,我们需要使用旧的 SKU 编号并将其替换为新编号。不幸的是,在某些情况下,替换旧 SKU 编号的新 SKU 编号最终会成为 'old' SKU 本身并被淘汰。下面是一个例子。

    Old Sku   New SKU
    06223     34162
    06223     34162
    06553     01925
    06557     19100
    06557     19100
    06573     11443
    06573     11443
    51095     06223
    51095     06223

按照我需要格式化工作的方式,我需要三个不同的 SKU 成为 1 个唯一的 SKU,因此 06223、34162 和 51095 将等于新的 SKU # 12345。

这就是我需要的样子

    Old Sku New SKU Unique SKU
    06223   34162   1
    06223   34162   1
    06223   34162   1
    06553   01925   2
    06557   19100   3
    06557   19100   3
    06573   11443   4
    06573   11443   4
    51095   06223   1
    51095   06223   1

我不太熟悉间接函数,但有人告诉我我可能需要使用它。我感谢所有的帮助。谢谢!

编辑 @CallumDA 这就是我从你的代码中得到的

    Old SKU         New SKU         All New SKU
    00080           00080           1
    00606           24264           2
    00606           98952           3
    00644           16814           4
    00721           58008           5
    00753           01929           6

第 2 行和第 3 行在所有新 sku 中应该有 2 个

将此公式放入C2并向下拖动

=IFERROR(VLOOKUP(IFERROR(VLOOKUP(B3,$A:$B1,2,0),B2),$B:$C1,2,0),MAX($C:C1)+1)

看起来像这样:

正如我在评论中所建议的那样,您可能也可以使用更简单的解决方案:

=IFERROR(VLOOKUP(B2,$A:$B,2,0),B2)

这只是获取最新的新 SKU -- 像这样:(在 "Alternative" 列中)

更新

由于您更新了数据,因此您拥有 one-to-many 关系以及 many-to-one。这是更新的方法和公式。 我针对这种情况更改了单元格 B3 中的值 并将其分成两列以方便使用:

D2中的公式为:

=VLOOKUP(INDEX($A:$A,MATCH(IFERROR(VLOOKUP(B2,$A:$B,2,0),B2),$B:$B,0)),$A:$B,2,0)

同样 E2 是:

=IFERROR(VLOOKUP(D2,$D:$E1,2,0),MAX($E:E1)+1)

您的更新数据现在如下所示: