我有一张包含数千条数据的 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 行。
这样做可以防止当前行以下的数据影响计数。