摘要:这篇文章主要介绍了Excel查找字符串中指定字符的位置,需要的朋友可以参考下,如果你喜欢还可以浏览Excel查找字符串中指定字符的位置的最新相关推荐信息。
许多人在使用Excel过程中,想要查找字符串中指定字符的位置,却又不知道怎么查找,今天教给大家查找方法。
Excel查找字符串中指定字符的位置
方法1
1、首先你的文档,这里简单做一个举例
2、第一种,FIND函数
格式为FIND(find_text, within_text, [start_num]),其中步骤1中字符串1为within_text,字符串2为find_text。start_num参数代表从这个位置开始进行查找,省略的话默认数值为1。选中单元格C2,在单元格中输入公式=FIND(A2,B2)。
3、回车查看结果。
(商盟百科网chnore.com)
4、第二种,FINDB函数格式为FINDB(find_text, within_text, [start_num]),参数意义和FIND函数一样,区别是对中文汉字是按两个字符计算的。在C3单元格中输入公式=FINDB(B3,A3,2),一个中文汉字算2个字符,所以结果为7。
5、选中D3单元格,输入公式=FIND(B3,A3,2),在find函数计算时,一个中文汉字算一个字符,所以结果是5。
6、Find和findB函数获取位置信息时是区分大小写字符的。在字符串aaa-bbbBBBccc中查找小写b和大写B的起始位置。
7、选中C4单元格,输入公式=FIND(B5,A4),回车其结果为8。
8、选中C5单元格,输入公式=FIND(B6,A5),回车其结果为1。
9、(商盟百科网chnore.com)
第三种,查找位置
这里用“最常见”的【Hello world!】举例。
查找o在公式中出现的位置的方法。
自己数发现字母o在字符串中有两个,【find()】默认设置只查找字母第一次出现的位置,如果想找第二个o出现的位置,其实一直忽略了find()函数的第三个参数——查找的起始位置。如果不对它修改特别指定的话,默认从第一个字母查找,那么思路就明确了
让find()从第一个o出现的位置后开始查找
输入公式【=FIND("o",A1,FIND("o",A1)+1)】
10、按下回车键,如图所示,这样结果就是【8】
11、如果出现三次怎么办?那就开始套娃。
(商盟百科网chnore.com)
12、那要是出现了N次,套不过来呢?
那就把整个字符串打散,变成单独的字符
输入公式【=MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)】
这个公式就是专门处理“N次”的,按F9可以看到由字符串中每一个字母组成的数组,现在可以对它们进行单独调整了。
13、直接按下回车键,如图所示,结果为【H】,乐
14、用if()函数来判断:如果字母等于【l】,给出它所在的位置,否则就会给出一个超大数值,下面再说为什么要用超大数值。公式是
【=IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="l",ROW(INDIRECT("1:"&LEN(A1))),65535)】按F9观察结果【{65535;65535;3;4;65535;65535;65535;65535;65535;10;65535;65535}】,l共出现了三次,位置分别是,3、4、10,这时就和观察的结果是一致的
15、其它字符位置会被超大数【65535】所代替(商盟百科网chnore.com)
16、此时需要这个数组中找出你想要的结果,也就是【3、4、10】这三个数字。此处需要用到small()函数,small(array,k)函数,有两个参数,第一个是数值集合,第二个是指定第k个最小值,它所返回的就是在数值集合中第k个最小值,刚才其它字符替换成65535作用正在于此,用small()在【{65535;65535;3;4;65535;65535;65535;65535;65535;10;65535;65535}】中查找第k个最小值,就是查找字母l在字符串中第k次出现的位置。公式是
【=SMALL(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="l",ROW(INDIRECT("1:"&LEN(A1))),65535),3)】
17、找第几个,就k就改成几,因为这个是数组公式,所以需要同时按下【Ctrl+Shift+Enter】才能出结果
18、否则就会变成这样,记得同时按下【Ctrl+Shift+Enter】哦。
Excel查找字符串中指定字符的位置