我有一个包含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
以下是我必须执行此功能的代码,但它并不总是有效。有时它返回零,我无法弄清楚为什么会这样做。
=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)
答案 0 :(得分:1)
我不确定你真的需要在这个结构中使用REPLACE。您可以使用:
= INDIRECT(TEXT(MIN(IF(ISNUMBER(SEARCH(F2,$ A $ 2:$ C $一万五千三百四十九)),10 ^ 5 * ROW($ A $ 2:$ C $一万五千三百四十九)+ COLUMN($ A $ 2:$ C $一五三四九))), “R0C00000”),FALSE)
此致
答案 1 :(得分:0)
该公式仅适用于第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