基于两列创建新的唯一 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)
您的更新数据现在如下所示:
我在工作中遇到了一个问题,我们需要使用旧的 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)
您的更新数据现在如下所示: