自动对列中相同的值进行编号,并在输入不同的值时重新开始

自动对列中相同的值进行编号,并在输入不同的值时重新开始

我有一张包含数千条数据的 Excel 表。其中有两列分别称为姓名

我想添加另一列,像名称的项目符号编号一样。在我的例子中,一些名称重复,但值不同。让我给你举个例子:

value | name    | result
1     | item001 | .05
2     | item001 | 1.5
3     | item001 | 3.5
1     | item025 | 5.5
1     | item028 | 6.5
1     | item020 | 7.0
2     | item020 | 8.6
3     | item020 | 10.2
4     | item020 | 21.1

正如您所看到的,我需要对具有相同值的名称列进行编号。

答案1

您可以使用此公式进行编号,如果这是您要查找的,假设第一个item001:在单元格中B2

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

并将公式拖至底部。

所以基本上,如果单元格 B2 和 B1 相同,则在之前的编号上加 1,否则,从 1 重新开始。

答案2

您可以使用以下公式:

=COUNT(  FILTER($A$2:A2,  $B$2:B2=B2))

它不是SPILL,所以您将其输入到第一行(根据需要调整参考),然后复制并粘贴到该列中。

FILTER()value在公式中创建一个数组,其中包含当前单元格上方的列中的所有条目以及当前单元格本身,其中name它们的单元格与当前行的单元格匹配name

COUNT()然后将它们加起来,这就是该列的条目value

使其工作起来的方法是创建当前单元格上方的单元格列表,包括当前单元格。这是通过使用列中第一个单元格的范围来完成的,这里假设为“A2”,使用绝对寻址($A$2而不是A2),因此范围的起始位置是固定的,并且对范围的右半部分使用相对引用,以便它随着列向下移动而变化,从而扩大范围。所以$A$2:A2变成$A$2:A34第 34 行。

这样做可以防止当前行以下的数据影响计数。

相关内容