如何查找字符串中某字符的所有位置

如题所述

使用FIND函数,嵌套SUBSTITUTE函数实现。
首先假设表格如下图所示,要查找A1单元格中“知道”在该字符串中第二次出现的位置

步骤如下:
在B2单元格中输入公式”=FIND("@",SUBSTITUTE(A1,"与","@",2))“(其中@可替换成任何原文本中没有的字符),回车即可。

函数功能解析:
(1)SUBSTITUTE函数:
①函数功能:将某字符串中在指定位置出现的指定字符替换成自定义的字符。
②语法:SUBSTITUTE(text,old_text,new_text,instance_num)
text 是需要替换其中字符的文本,或是含有文本的单元格引用;
old_text 是需要替换的旧文本;
new_text 用于替换old_text 的文本;
instance_num 为一数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;否则将用new_text 替换Text 中出现的所有old_text。
(2)FIND函数
①函数功能:查找指定字符在字符串中出现的位置。
②语法: FINDB(find_text,within_text,start_num)Find_text 是要查找的文本。Within_text 是包含要查找文本的文本。Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。
如果忽略 start_num,则假设其为 1。
(3)本例解析
首先利用SUBSTITUTE函数将字符串中要查找的指定字符第二次出现时的字符替代成特殊字符(本例中采用”@“),然后利用FIND函数查找”@“出现的位置,即为原来字符串中指定字符第二次出现的位置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-04
假设你的字符串在A1中,那你在b1中输入以下公式即可
=MAX(IF(ISERROR(FIND("要找的字符",A1,ROW(A:A))),0,FIND("要找的字符",A1,ROW(A:A))))

注:这是个数组公式,需要同时按下 Ctrl+Shift+回车 三键结束输入
相似回答