Excel里如何查找某个字符在字符串里出现的第二个位置
发布时间:2025-05-20 15:36:38 发布人:远客网络
一、Excel里如何查找某个字符在字符串里出现的第二个位置
使用FIND函数,嵌套SUBSTITUTE函数实现。
首先假设表格如下图所示,要查找A1单元格中“知道”在该字符串中第二次出现的位置
在B2单元格中输入公式”=FIND("@",SUBSTITUTE(A1,"与","@",2))“(其中@可替换成任何原文本中没有的字符),回车即可。
①函数功能:将某字符串中在指定位置出现的指定字符替换成自定义的字符。
②语法:SUBSTITUTE(text,old_text,new_text,instance_num)
①函数功能:查找指定字符在字符串中出现的位置。
②语法:FINDB(find_text,within_text,start_num)
用Excel计算一个字符串中某个字符的个数
1、用LEN和SUBSTITUTE函数配合计算。示例:假定A1="abcdacad",求a的个数。
公式=len(a1)-len(substitute(a1,"a",))这种方法的原理是:用原字符串长度减去删除指定字符后的字符串长度,得到指定字符的数量。
2、用SUMPRODUCT和MID函数计算。如上例,公式为:=SUMPRODUCT(N(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="a"))
公式首先用MID函数将字符串分解为单个元素,再进行一一比对,最后用SUMPRODUCT函数汇总得到结果。
参考资料:百度百科find函数(Excel函数)
二、excel中match查找范围内有两个符合条件的怎么办
1、想把C列数据引用到D列,在D2单元格输入=VLOOKUP(A2&B2,IF({1,0},A2:A7&B2:B7,C2:C7),2,FALSE)
2、按ctrl shift enter组合键即可实现引用。
3、VLOOKUP(查找值,在哪里找,找到了之后返回第几列的数据,逻辑值),其中,逻辑值为True或False。这是vlookup函数语法的通俗版解释。
4、IF({1,0},相当于IF({True,False},用来构造查找范围的数据的。而IF({1,0},A2:A7&B2:B7,C2:C7)表示将A列和B列的数据合并为一列;将C列数据作为一列。这样查找区域就是俩列了。
5、=VLOOKUP(A2&B2,IF({1,0},A2:A7&B2:B7,C2:C7),2,FALSE)公式中2表示返回查找区域第二列(就是c列)的数值。
三、excel Vlookup,怎么返回查找到的列第二个数值
1、vlookup对文本的搜索,通常只用来查找唯一值。你这个要求用VLOOKUP根本实现不了。
2、用数组公式可以实现,不过公式相对比较复杂一些。
3、当然,写VBA做一个循环可能更好一些。计算更准确,也更容易达到你的要求。
4、如果你确认一个组里边只有两个人,那么完全可以使用排序的方式把数值给拿过来直接用。
5、因为数组公式比较复杂,所以需要你的原表,看看你的原表的具体规律之后才能帮你写,而且我不会免费给你写的,VBA我也可以写,但是也不免费,需要请私信。这么做主要因为需要消耗较多的精力。下边把思路给你大概说一下。
6、写一个数组公式,将等于你前边组别的列行号给提取出来,将其他列号变为0即可,也可以变成表格的最大行好值。对应行号的提取方法是,只要等于你的要查询的条件,则直接乘以行号,不符合的乘以零。这个连函数都不用就可以完成。形成数组之后,用LARGE或者SMALL函数(取决于你将不符合条件的行号如何处理)将符合条件的前两位(或者前N位)给提取出来,分别放到你要求的位置(例如你图中表示的E列)。
7、看起来公式的思路并不复杂,但是写起来也会费不少劲。另外,如果要帮你做公式,最好有原表,而不是你用自己的想法构造一个虚拟表。因为有原表里边的数据,才能准确把握你的具体数据的规律和准确要求,才能写出更准确的公式。之前接到过好几次提问,他们提问所列出的表,和实际发过来的表完全不是一回事。按照他们提问中所列的表,写出的公式一点问题也没有的,到他们真实要求的表里,根本无法完成他们的要求,有的甚至是错误的。
8、至于VBA的循环,这个更不用我说了。直接循环查找即可。