如何找到范围中第n个值的行号。例如,如果我在范围A1:A6中具有值1,2,1,3,4,2,那么如何找到第二次出现的行号1。技巧是,一个人只能使用属于总和/计数家庭(总和,Sumif,Sumifs,Count,counta,countblank,Countif,CountIfs)。我能够使用“ SMALL(IF($A$1:$A$6=1,ROW($A$1:$A$6),""),B1)
”解决问题。任何帮助表示赞赏。
答案 0 :(得分:0)
我假设B1
出现了您要查找的值,而B2
出现了您要查找的值。
只有6行,您可以对其进行暴力破解:
=(A1=B2)*(B1=1)+(A2=B2)*(COUNTIF(A1:A2,B2)=B1)*2+(A3=B2)*(COUNTIF(A1:A3,B2)=B1)*3+(A4=B2)*(COUNTIF(A1:A4,B2)=B1)*4+(A5=B2)*(COUNTIF(A1:A5,B2)=B1)*5+(A6=B2)*(COUNTIF(A1:A6,B2)=B1)*6
要累加的每个术语都会检查第n次出现是否在特定行上。对于您给出的示例,(A3=B2)*(COUNTIF(A1:A3,B2)=B1)*3
的评估结果为:
-> (1=1)*(2=2)*3
-> TRUE*TRUE*3
-> 3
所有其他术语均为0。例如:
-> (A4=B2)*(COUNTIF(A1:A4,B2)=B1)*4
-> (3=1)*(2=2)*4
-> FALSE*TRUE*4
-> 0
如果可以选择帮助列,则可以使用它并填写6行:
=((COUNTIF(A$1:A1,B$2)*(A1=B$2))=B$1)*(COUNTA(A$1:A1)+COUNTBLANK(A$1:A1))
答案将是helper列的总和。此解决方案易于扩展-只需将其填充为所需的任何行数,答案始终是总和。