在Excel工作簿中找到唯一字符串的位置?

时间:2017-10-16 17:51:23

标签: excel find match

就像标题所说的那样,我试图在excel工作簿中的任何位置找到唯一字符串的位置。它保证是唯一的,但可以出现在我表格的任何行或列中。

所以对于这个例子:

Sample_Table

我希望单元格B7返回B3(5的位置)。如果我知道它会出现的列或行,那么这是一个简单的查找,匹配或索引问题。我很难找到一个值可以位于工作表中任何位置的示例。

1 个答案:

答案 0 :(得分:1)

这应该有效:

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

enter image description here

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

=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视为0,将TRUE视为1,以便数组评估为:

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

将该数组包装在SUMPRODUCT公式中将对数组中的值求和并返回3,这是可以找到5的行。