为 Excel 表中的项目分配嵌套的顺序唯一编号

为 Excel 表中的项目分配嵌套的顺序唯一编号

我正在尝试为 Excel 表中的项目生成唯一的 ID 号。

例如:1.2.4 对于每一列,数字都是根据文本唯一编号的。例如,在下表中,将添加另一个水果条目,并为其分配主 ID 1。

然后,次要 ID 需要是基于主要 ID 的唯一 ID。例如,在底部添加一行作为香蕉类型,则将分配:次要 ID 为 1。

然后,三级ID基于二级键下的唯一编号。

最后把它们全部组合起来

=PrimaryID&"."&"SecondaryID"&"."&TeritaryID

在网上找到以下获取独特物品的公式后,我有点迷失了方向:

=IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,VLOOKUP(A2,A$1:B1,2,0))

编辑:此公式匹配项目并为其提供唯一的 ID 号,请查看下面的示例。

下一步我需要帮助的是让它以 xxx 的格式工作,并让它仅根据使其嵌套的父键变得唯一。

 

╔════════╦════╗
║ 商品 ║ ID ║
╠════════╬════╣
║ 测试 1 ║ 1 ║
║ 测试 2 ║ 2 ║
║ 不错 ║ 3 ║
║ 测试 2 ║ 2 ║
║ 测试 3 ║ 4 ║
║ 测试 4 ║ 5 ║
║ dsa ║ 6 ║
║ 不错 ║ 3 ║
║ 测试 1 ║ 1 ║
║ 一个 ║ 7 ║
╚════════╩════╝

下表示例:

╔════════════╦════════════════╦════════════════╦════════════════╦═══════════════╦═══════════════╦════════════╗
║ 主 ID ║ 主名称 ║ 次要 ID ║ 次要密钥 ║ 第三 ID ║ 第三名称 ║ Gen ID ║
╠════════════╬═════════════════╬══════════════════╬═════════════════╬════════════════╬════════════════╬════════════╣
║ 1 ║ 水果 ║ 1 ║ 香蕉 ║ ​​1 ║ 卡文迪什 ║ 1.1.1 ║
║ 1 ║ 水果 ║ 1 ║ 香蕉 ║ ​​2 ║ 拉卡坦 ║ 1.1.2 ║
║ 2 ║ 蔬菜 ║ 1 ║ 土豆 ║ 1 ║ Maris Piper ║ 2.1.1 ║
║ 1 ║ 水果 ║ 2 ║ 苹果 ║ 1 ║ 粉红女士 ║ 1.2.1 ║
║ 1 ║ 水果 ║ 2 ║ 苹果 ║ 2 ║ 加拉 ║ 1.2.2 ║
║ 1 ║ 水果 ║ 2 ║ 苹果 ║ 3 ║ 格兰尼史密斯 ║ 1.2.3 ║
║ 3 ║ 肉 ║ 1 ║ 鸡 ║ 1 ║ 苏塞克斯 ║ 3.1.1 ║
║ 2 ║ 蔬菜 ║ 1 ║ 土豆 ║ 2 ║ 育空黄金 ║ 2.1.2 ║
║ 1 ║ 水果 ║ 3 ║ 葡萄 ║ 1 ║ 红衣主教 ║ 1.3.1 ║
╚════════════╩══════════════════╩═════════════════╩════════════════╩═══════════════╩══════════════╩═══════════╝

答案1

请参阅下面略微不同的获取 Gen ID 的方法。

我必须将您的 Excel 表格的格式调整为以下格式。 在此处输入图片描述

基本上我所做的如下:1. 重新排列前三列的主要名称、次要名称和第三名称。

  1. 然后添加另一列(OrigSort)以维护最右侧条目的原始排序顺序(假设该顺序对您来说可能很重要,我们将在下一步中更改它)

  2. 按前三列的升序对整个表进行排序。

  3. 一旦我们到达这一点,就可以很容易地设置每个键的 ID 公式,如下所示:

    D 栏:主要 ID

    =IF(COUNTIF(A$2:A2,A2)=1,MAX(D$1:D1)+1,VLOOKUP(A2,A$1:D1,4,0))

    E 号:次要 ID

    =IF((A2=A1),IF(B2=B1,E1,E1+1),1)

    F 栏:第三级 ID

    =IF((A2=A1)*(B2=B1),IF(C2=C1,F1,F1+1),1)

  4. 现在,使用连接操作获取 Col G 中的 Gen ID

  5. 最后,(可选步骤)使用 OrigSort 列恢复排序顺序。

相关内容