在范围内查找部分文本,返回单元格值

我有一个包含3列的数据数组,随着更多的数据被添加行增加。 我有一些已知的值,如XX-12345,XXX-12345或XXXX-12345,我需要识别并返回该单元格中的内容。 问题是命名约定不是标准的,所以值可能如下所示:XX-12345-Temp,XX-12345.Temp XXX-12345-Temp,XXX-12345.Temp或XXXX-12345-Temp, XXXX-12345.Temp

下面是我必须执行此function的代码,但它并不总是工作。 有时它返回一个零,我不明白为什么这样做。

=INDIRECT("R"&REPLACE(TEXT(MIN(IF(ISNUMBER(SEARCH(F2,$A$2:$C$15349)),(ROW($A$2:$C$15349))*1000+COLUMN($A$2:$C$15349))),"000000"),4,0,"C"),FALSE) 

我不确定你是否真的需要在这个构造中涉及REPLACE。 您可以使用:

= INDIRECT(TEXT(MIN(IF(ISNUMBER(SEARCH(F2,$ A $ 2:$ C $ 15349)),10 ^ 5 * ROW($ A $ 2:$ C $ 15349)+ COLUMN($ A $ 2:$ C $ 15349) )), “R0C00000”),FALSE)

问候

该公式将只处理999行,因为在第1000行ROW * 1000 = 1,000,000,并将在公式中打破“000000” – 试试这个版本,这将适用于范围高达99,999行

=INDIRECT("R"&REPLACE(TEXT(MIN(IF(ISNUMBER(SEARCH(F2,$A$2:$C$15349)),(ROW($A$2:$C$15349))*1000+COLUMN($A$2:$C$15349))),"00000000"),6,0,"C"),FALSE)

我将“000000”更改为“00000000”,因此REPLACE函数中的4必须是6