excel 取 包含某个字符
来源:百度知道 编辑:UC知道 时间:2024/05/18 11:41:37
各位高手:请赐教
1212 32132 AAA00121231 231
5454 986 54 AAA9878946 1233
5641 AAA8945665
6546 541 12313 25 AAA6132156 SFS
想取到的数为
AAA0012123
AAA9878946
AAA8945665
AAA6132156
1212 32132 AAA00121231 231
5454 986 54 AAA9878946 1233
5641 AAA8945665
6546 541 12313 25 AAA6132156 SFS
想取到的数为
AAA0012123
AAA9878946
AAA8945665
AAA6132156
看数据内容,A1连着的是AAA00121231
取得的是AAA0012123
也就是定长取得吧~
----------------------如果是定长10
试试这个:
1、假设A1到A4为数据
2、在B1中输入公式:
=IF(ISERROR(SEARCH("AAA",A1)),"",MID(A1,SEARCH("AAA",A1),10))
3、公式下拉至B4。
4、出现结果。
----------------------如果不是定长,即取到下一个空格试试这个:
1、假设A1到A4为数据
2、在B1中输入公式:
=IF(ISERROR(SEARCH("AAA",A1)),"",IF(ISERROR(SEARCH(" ",A1,SEARCH("AAA",A1))),MID(A1,SEARCH("AAA",A1),LEN(A1)+1-SEARCH("AAA",A1)),MID(A1,SEARCH("AAA",A1),SEARCH(" ",A1,SEARCH("AAA",A1))-SEARCH("AAA",A1))))
3、公式下拉至B4。
4、出现结果。
假设你上面的数据在A1:A4
按下ALT+F11,菜单:插入-模块,复制下面代码.
退出
然后在B1输入=STR(A1),然后向下填充公式.B1:B4就是你要提取的.
这个公式可以当作一般函数来通用了.只要输入=STR(你要提取的单元格),就会出来结果.
Public Function STR(ByVal N As String) As String
A = Split(N, " ")
For X = 0 To UBound(A)
If Asc(Left(A(X), 1)) &