专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
Excel之家ExcelHome  ·  INDIRECT函数很出众,能把文本变引用 ·  6 天前  
Excel之家ExcelHome  ·  这些公式用得好,天天追着幸福跑 ·  6 天前  
完美Excel  ·  一个漂亮的组合图表 ·  1 周前  
Excel之家ExcelHome  ·  Excel数据查询,换个思路更简单 ·  1 周前  
Excel之家ExcelHome  ·  Excel数据整理的本手、妙手和奇手大PK ... ·  1 周前  
51好读  ›  专栏  ›  完美Excel

改进的SEARCH函数

完美Excel  · 公众号  · Excel  · 2024-10-21 05:25

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:SEARCH函数LAMBDA函数

SEARCH函数返回一个指定字符或文本字符串在字符串中第一次出现的位置,从左到右查找,忽略大小写。该函数有两个限制:

1.如果没有找到要搜索的值则返回错误。

2.它不能正确处理空白/空单元格。如果要SEARCH函数查找空白单元格,则返回数值1

示例数据及公式如下图1所示。

1
注意,单元格B8为空,而SEARCH函数返回1。要避免显示错误值,使用了IFERROR函数,但单元格E8仍然返回1。而列G中使用了最终的公式,不显示错误值且返回空单元格的位置时显示0

为了简化使用SEARCH函数计算并返回0而不是错误,可以创建一个自定义函数来替换SEARCH函数。这个自定义函数使用LAMBDA函数:

=LAMBDA(find_txt,in_txt,IF(find_txt="", 0,IFERROR(SEARCH(find_txt,in_txt),0)))(B2,A2)

上面的公式在单元格A2中查找并返回单元格B2中的值第一次出现的位置,如下图2所示。

2
LAMBDA函数接受两个输入find_txtin_txt。如果find_txt为空则返回0。如果有错误也返回0。否则,返回SEARCH函数的结果。

使用LAMBDA函数自定函数如下图3所示。

3
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。