如何在 Excel 的搜索功能中迭代更改 within_text 值

How to change the within_text value iteratively in Excel's Search function

我正在使用 excel 搜索功能:SEARCH(find_text,within_text,[start_num])

这是我的功能:=SEARCH('Sheet2'!A2:A29488,C62)

有效,returns 电子邮件地址中城市首字母的索引 例如:...@denver.edu = 5

我的问题是 SEARCH 函数不仅输出索引 5,还输出一整列 #VALUE!,它表示电子邮件地址中没有的城市。这意味着我无法将我的公式应用于 C 列中的每个电子邮件地址。

所以现在我必须 运行 列中的公式并找到数字输出值。 Search Formula output

这不是问题。问题是我一次只能搜索一个电子邮件地址。因此,我必须为 C 列中的每一行 运行 我的函数。有没有办法让 within_text 参数迭代增加,直到我的函数在 C 列的每一行上都有 运行 ?即:SEARCH('Sheet2'!A2:A29488,C62)..SEARCH('Sheet2'!A2:A29488,C63)....SEARCH('Sheet2'!A2:A29488,C6280)

您的“#VALUE 的整列!”是一个 SPILL 范围,find_text 范围内的每个单元格都有一个结果。这是 Excel 365 功能。

您可以使用其他 Excel 365 功能将其简化为一个结果

 =LET(List,IFERROR(SEARCH('Sheet2'!A2:A29488,C62),0),FILTER(List,List>0))

这将 return 仅当只有 1 个匹配项时才会出现单个结果。如果可能有 > 1 个匹配项,此版本将 return 第一个

     =LET(List,IFERROR(SEARCH('Sheet2'!A2:A29488,C62),0),@FILTER(List,List>0))