在Excel工作簿中查找唯一string的位置?

就像标题所说,我试图在Excel工作簿的任何地方find唯一string的位置。 这是保证是唯一的,但可以出现在我的表的任何行或列。

举个例子:

Sample_Table

我想单元格B7返回B3(5的位置)。 如果我知道它将出现的列或行,那么这是一个简单的查找,匹配或索引问题。 我很难find一个值可以放在表单中的任何位置的例子。

这应该工作:

=ADDRESS(SUMPRODUCT((A1:C4=B6)*ROW(A1:C4)),SUMPRODUCT((A1:C4=B6)*COLUMN(A1:C4))) 

在这里输入图像说明


要返回相对引用B3 ,请在ADDRESS公式的末尾添加,4

 =ADDRESS(SUMPRODUCT((A1:C4=B6)*ROW(A1:C4)),SUMPRODUCT((A1:C4=B6)*COLUMN(A1:C4)),4) 

说明

SUMPRODUCT是一个数组公式。 它接受多个数组,将它们相乘,然后求和得到的数组。 在这种情况下,只有一个数组,所以它只是将该数组中的值相加而不用做其他任何事情。

让我们分解这个数组: (A1:C4=B6)*ROW(A1:C4)

(A1:C4=B6)看起来像这样:

 FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE 

和行ROW(A1:C4)看起来像这样:

 1 1 1 2 2 2 3 3 3 4 4 4 

当你将两个数组相乘时,你会得到这个:

 FALSE*1 FALSE*1 FALSE*1 FALSE*2 FALSE*2 FALSE*2 FALSE*3 TRUE*3 FALSE*3 FALSE*4 FALSE*4 FALSE*4 

Excel会将FALSE视为0TRUE视为1以便数组计算为:

 0 0 0 0 0 0 0 3 0 0 0 0 

SUMPRODUCT公式中包装该数组会将数组中的值相加并返回3 ,即可以find5的行。