Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6306|回复: 8

[已解决][求助]如何在一个字符串中找到第N个字符所在的位置

[复制链接]
发表于 2009-9-9 19:11 | 显示全部楼层 |阅读模式

A列中有很多数据,格式不定:6*12*500*1000;600*120000*500;10000*500*700*9000*100;1000000*400*300*100等等。

每个数据中至少有2个*,我想返回第二个*所在的位置。用FIND函数可以返回第一个*所在的位置,但因为数字的长度不一定,无法指定起始查找位置,所以不能用FIND函数找到第二个*所在的位置。

有其他的函数可以实现吗,谢谢

最佳答案
2009-9-9 19:14
=FIND("*",A1,FIND("*",A1))+FIND("*",A1)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2009-9-9 19:12 | 显示全部楼层
回复

使用道具 举报

发表于 2009-9-9 19:14 | 显示全部楼层    本楼为最佳答案   

=FIND("*",A1,FIND("*",A1))+FIND("*",A1)
回复

使用道具 举报

 楼主| 发表于 2009-9-9 19:20 | 显示全部楼层

=FIND("*",A1,FIND("*",A1)+1)

呵呵,这样是可以找到第二个*

回复

使用道具 举报

 楼主| 发表于 2009-9-9 19:21 | 显示全部楼层

依次类推,找到第三个*就是

=FIND("*",A1,FIND("*",A1,FIND("*",A1)+1)+1)

谢谢3楼的启发了我

回复

使用道具 举报

 楼主| 发表于 2009-9-9 19:23 | 显示全部楼层

哈,就是要找到越后面的函数就越长了,大家有没有更好的方法呢

回复

使用道具 举报

发表于 2009-9-9 19:25 | 显示全部楼层

=SMALL(IF(MID(A1,ROW(1:99),1)="*",ROW(1:99)),2)

数组

见附件:

 

FdcfT2SY.rar (1.56 KB, 下载次数: 27)
回复

使用道具 举报

 楼主| 发表于 2009-9-9 19:27 | 显示全部楼层

恩,数组函数可以解决函数越变越长的问题,谢谢楼上的兄弟

回复

使用道具 举报

发表于 2016-9-16 10:29 | 显示全部楼层
=FIND("-",SUBSTITUTE(A1,"*","-",2))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 05:56 , Processed in 0.135947 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表