基于两列创建新的唯一ID-Excel
我在工作中遇到了一个问题,我们需要一个旧的SKU编号,然后用一个新的替换它。不幸的是,在某些情况下,新SKU编号取代旧SKU编号最终将成为“旧”SKU本身,并将逐步淘汰。下面是一个例子基于两列创建新的唯一ID-Excel,excel,excel-indirect,excel-match,Excel,Excel Indirect,Excel Match,我在工作中遇到了一个问题,我们需要一个旧的SKU编号,然后用一个新的替换它。不幸的是,在某些情况下,新SKU编号取代旧SKU编号最终将成为“旧”SKU本身,并将逐步淘汰。下面是一个例子 Old Sku New SKU 06223 34162 06223 34162 06553 01925 06557 19100 06557 19100 06573 11443 06573 1
Old Sku New SKU
06223 34162
06223 34162
06553 01925
06557 19100
06557 19100
06573 11443
06573 11443
51095 06223
51095 06223
按照我需要的工作格式,我需要三个不同的SKU成为一个唯一的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$1:$B1,2,0),B2),$B$1:$C1,2,0),MAX($C$1:C1)+1)
看起来是这样的:正如我在评论中所建议的,您也可以选择一个更简单的解决方案:
=IFERROR(VLOOKUP(B2,$A$2:$B$11,2,0),B2)
它只获得最新的SKU——如下所示:(在“替代品”栏中)
更新
因为您更新了数据,所以您拥有一对多关系以及多对一关系。以下是更新的方法和公式我更改了此场景的单元格B3
中的值,并将其拆分为两列以方便使用:
D2
中的公式为:
=VLOOKUP(INDEX($A$2:$A$11,MATCH(IFERROR(VLOOKUP(B2,$A$2:$B$11,2,0),B2),$B$2:$B$11,0)),$A$2:$B$11,2,0)
=IFERROR(VLOOKUP(D2,$D$1:$E1,2,0),MAX($E$1:E1)+1)
同样地,对于E2,它是:
=VLOOKUP(INDEX($A$2:$A$11,MATCH(IFERROR(VLOOKUP(B2,$A$2:$B$11,2,0),B2),$B$2:$B$11,0)),$A$2:$B$11,2,0)
=IFERROR(VLOOKUP(D2,$D$1:$E1,2,0),MAX($E$1:E1)+1)
您的更新数据现在如下所示:
为什么您需要第三个独特的SKU。你能用“新SKU”吗?对于最后一条记录,这将是
34162
,例如,我必须这样做,因为我需要创建一个预测模型,并且由于三个SKU是相同的产品,我需要将它们预测为同一个项目,而不是三个单独的项目。当新SKU为0000
时,您能确认您想要什么吗?@CallumDA我忘了我把它放在那里了。请忽略这一点,因为我将删除新SKU列中0000所在的行。对不起,这是我的错mistake@CallumDA如果您查看第2行和第3行,我仍然可以从您的代码中看到这一点。两种情况下的新sku均应为2。不知道出了什么问题MSPN中的逐步淘汰MSPN阶段所有新SKU 00080 00080 1 00606 24264 2 00606 98952 3 00644 16814'