我尝试复制提供的最佳答案这里用户 Dan 使用了他们提供的相同场景和公式。
=INDEX($C$2:$C$8,SMALL(IF($B12=$B$2:$B$8,ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1,""),1))
但是,当我将 INDEX 数组向右拖动时,我会一遍又一遍地得到“Adam”,而不是每个唯一的名称。
我发现,如果我手动更改 Dan 提供的公式末尾的“k”值,该公式就会起作用,并且我会得到唯一的名称。示例
Cell C12, =INDEX($C$2:$C$8,SMALL(IF($B12=$B$2:$B$8,ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1,""),1))
Cell D12, =INDEX($C$2:$C$8,SMALL(IF($B12=$B$2:$B$8,ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1,""),2))
'单元格 E12,=INDEX($C$2:$C$8,SMALL(IF($B12=$B$2:$B$8,ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1,""),3))`
然而,这是一个相当繁琐的过程,我希望将这个公式适用于更大的纸张。
我的工作表高级选项确实允许自动递增,因为我用简单的数字系列测试过它。例如,选择 1 并向右拖动会提供一系列以 1 为增量的数字。我甚至尝试手动设置 C12 和 D12,选择两者并向右拖动。但是,我得到的只是这些单元格的重复,而不是唯一的名称。
为什么当我将“k”值拖过工作表时,它不会增加?我是否忽略了其他问题?
答案1
使用 COLUMN():
=COLUMN(A:A)
将产生 1 并且随着它被拖动到右侧而增加到 2 到 3 到 4 到 ...。
=INDEX($C$2:$C$8,SMALL(IF($B12=$B$2:$B$8,ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1,""),COLUMN(A:A)))