EXCEL中计算字符串中"A"出现在第几个"B"字符的前面

如:B字符为“#”,计算特定字符“A”在字符串是在从前往后数的第几个“#”的前面。
例:在“A#B#C#D”中,A在第1个”#“前面,结果为1;
在“D#A#B#C"中,A在第2个”#“前面,结果为2;
在“D#B#A#C"中,A在第3个”#“前面,结果为3;
在“D#C#B#A"中,A在后面没有”#“,希望返回结果为0。

如下图,B1粘贴这个公式,下拉:

=IFERROR(FIND("A#",A1)+1,0)


追问

"#"与”#“之间为长度不一致的字符串。

追答

理解了!更改如下:

=IFERROR(LEN(LEFT(A1,FIND("A#",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND("A#",A1)-1),"#",""))+1,0)

追问

谢谢亲!A和#不一定在一起,中间可能还有其它字符。A只有一个,但#有1到10个不等,#与#之间字符长短不一,希望能得出字符A在第几个#的前面。

追答

再改:

=IF(ISNUMBER(FIND("#",RIGHT(A1,LEN(A1)-FIND("A",A1)))),LEN(LEFT(A1,FIND("A",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND("A",A1)-1),"#",""))+1,0)

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-06

公式:

     =SUMPRODUCT(--(MID(LEFT(A1,IF(ISERR(SEARCH("#",A1,FIND("A",A1))),0,SEARCH("#",A1,FIND("A",A1)))),ROW($1:$99),1)="#"))

 

第2个回答  2014-10-06

在B1单元格输入以下公式,然后向下填充公式

=IFERROR(INT(FIND("A#",A1)/2)+1,0)

 

详见附图

本回答被网友采纳
第3个回答  2014-10-06

=IF(FIND("A",A1)=LEN(A1),0,INT(FIND("A",A1)/2+1))

以测试成功,请查阅

追问

"#"与”#“之间为长度不一致的字符串。

追答

亲,我是根据你这提出问题解决的,你这又是问题之外的问题了
你要是上了你的表,我也一气喝成,这样花费2倍的时间呀

第4个回答  2014-10-06
如果都是这种字符串,只要找到A位置就可以了,

EXCEL中计算字符串中"A"出现在第几个"B"字符的前面
=IFERROR(FIND("A#",A1)+1,0)

excel中如何提取字符串的前面或者后面的内容
1、如下图,要提取#后面的字符,也即红色的SDK到B列。2、首先,在B2中输入公式:=FIND(#,A2),返回#在字符串中的位置,#在A2单元格文本中是第6个字符。3、知识点说明:FIND()函数查找第一参数在第二参数中的位置。如下图,查找B在ABCD中是第几个字符。第一参数是要查找的字符B,第二参数是...

excel怎样获取单元格中特定字符前面或者后面的内容?
1、例如,在这个Excel表格中我们想要提取员工姓名,若员工数量较少,或许还可以逐个输入,但公司员工数量较多时,提取信息的工作量就比较大了。在这里,将教你如何使用公式提取想要的信息。2、首先,我们选中需要提取信息的单元格(列)对应的右侧一格(列),例如,想要从A列提取,从A2开始,我们选中B2。

excel怎么计算某字符之前的字符数
B1公式:=MID(A1,6,FIND("_",A1,6)-6)公式的意思是:提取A1单元格,从第6个字符开始。找第2个下杠“_”的位置减去6

excel如何用函数,使得对于二个字符串,找到其中最先出现在目标字符串的...
假设目标字符串在A1 B1输入公式 =MIN(FIND("a",A1),FIND("b",A1))这能有多长。。。

在EXCEL中,我想把一个单元格内的字符串从第一个数字出现后提取出前面的...
举个例,想在B1显示出A1单元格的前两个字(不论是英文、中文还是符号),则在B1输入公式=LEFT(A1,2)回车即可,如果B列整列都是这样要求,就点住B1单元格右下角十字星向下拖拉填充公式即可。

excel如何计算同一列里面一共有几个a和b,需要公式,谢谢!
在Excel中,要快速计算某一列(例如A列)中特定字符(如'a'或'b')的出现次数,可以轻松借助内置函数。以下是操作步骤:1.打开Excel工作表。2.转到公式栏,点击函数选项,寻找统计函数的类别。3.在统计函数的子菜单中,选择COUNTIF函数,它将帮助我们完成计数任务。4.接下来,确定函数的第一个参数,...

excel怎样提取字符串中的前三个字符
假设我们在Excel工作表的A列有一系列文本字符串,我们想要在B、C和D列分别提取这些字符串的第1、第2和第3个字符。我们可以在B1单元格输入`=LEFT`,在C1单元格输入`=MID`,在D1单元格输入`=MID`。然后,将这些单元格中的公式向下拖动以应用于整个列,从而快速提取出所有文本字符串的相应字符。此外...

excel表中实现判断一列的字符串是否出现在指定的几个字符串中,
在B列=MATCH(A1,D1:D3,0),其中D1:D3是你需要找的人名。这个函数可以找出你所需要的在D列哪个位置,然后再使用if函数进行判断,在N+1列=if(N1>0,“在","不在"),这样就可以了。不过需要注意的是,match函数如果找不到你要的,就会显示乱码。这种情况下,就可以通过iserror()这个函数将...

EXCEL 公式计算一列数据中某个指定字符出现的次序
在B1单元格输入下面的公式:=IF(A1="A",COUNTIF($A$1:A1,A1),"")回车再下拉公式即可。

相似回答