Excel - 检查两列的值是否在列表中是新的并为它们分配新的 ID
Excel - Check if Value of Two Columns are new in a List and Assing a new ID to them
早上好,
我正在尝试在 Excel 中制定一些内容,使我们能够检查列表中两列的值是否是新的,如果是,则为它们分配一个新的 ID。如果不是,让它“空白”或分配之前分配的相同ID(任何一种方法都适合我)。
我正在尝试将某些东西与 Count.if 一起使用,但它不适合。由于我考虑了一段时间,我决定寻求帮助。
我想做的是求解下面“公式”列的公式:
Space|Name|*Formula*
1 | AB | 1
1 | AB | 1
1 | AB | 1
1 | CA | 2
2 | DD | 3
2 | EE | 4
2 | EE | 4
3 | SS | 5
3 | SS | 5
1 | ZZ | 6
1 | AB | 1
如果您不介意 non-sequential 编号,您可以 return 找到的第一个匹配项的索引作为您的标识符:
Copy into C2, then fill down as necessary. The match row stop may need alteration based on how much data you have
=MATCH(A2&"#"&B2, A:A0&"#"&B:B0,0)
或者作为数组公式(只需要放在C2);
=MATCH(A2:A11&"#"&B2:B11, A2:A11&"#"&B2:B11,0)
数据组的顺序编号
在单元格C2
中使用下面的数组公式(Ctrl,Shift+Enter):
=IF(COUNTIFS(A:A2,A2,B:B2,B2)=1,MAX(C:C1)+1,
INDEX(C:C1,MATCH(1,(A:A1=A2)*(B:B1=B2),0)))
然后从 C3
复制 C2
并粘贴到最后一个单元格。
如果您对仅对第一次出现的事件进行编号感到满意,请使用以下公式:
=IF(COUNTIFS(A:A2,A2,B:B2,B2)=1,MAX(C:C1)+1,"")
两种解决方案都使用 headers 即 headers 不能是数字。
早上好,
我正在尝试在 Excel 中制定一些内容,使我们能够检查列表中两列的值是否是新的,如果是,则为它们分配一个新的 ID。如果不是,让它“空白”或分配之前分配的相同ID(任何一种方法都适合我)。
我正在尝试将某些东西与 Count.if 一起使用,但它不适合。由于我考虑了一段时间,我决定寻求帮助。
我想做的是求解下面“公式”列的公式:
Space|Name|*Formula*
1 | AB | 1
1 | AB | 1
1 | AB | 1
1 | CA | 2
2 | DD | 3
2 | EE | 4
2 | EE | 4
3 | SS | 5
3 | SS | 5
1 | ZZ | 6
1 | AB | 1
如果您不介意 non-sequential 编号,您可以 return 找到的第一个匹配项的索引作为您的标识符:
Copy into C2, then fill down as necessary. The match row stop may need alteration based on how much data you have
=MATCH(A2&"#"&B2, A:A0&"#"&B:B0,0)
或者作为数组公式(只需要放在C2);
=MATCH(A2:A11&"#"&B2:B11, A2:A11&"#"&B2:B11,0)
数据组的顺序编号
在单元格C2
中使用下面的数组公式(Ctrl,Shift+Enter):
=IF(COUNTIFS(A:A2,A2,B:B2,B2)=1,MAX(C:C1)+1,
INDEX(C:C1,MATCH(1,(A:A1=A2)*(B:B1=B2),0)))
然后从 C3
复制 C2
并粘贴到最后一个单元格。
如果您对仅对第一次出现的事件进行编号感到满意,请使用以下公式:
=IF(COUNTIFS(A:A2,A2,B:B2,B2)=1,MAX(C:C1)+1,"")
两种解决方案都使用 headers 即 headers 不能是数字。