如何提取excel中的一段数字,文字,符号
展开全部
一、单元格
A1
中有如下内容:要提取出数字
提取
Excel
单元格中连续的数字的函数公式是:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),ROW
($1:$8)))
或者
=LOOKUP(9E+307,--MID(H2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},H2&1234567890)),ROW(I
NDIRECT("1:"&LEN(H2)))))
解释一下这个公式
FIND
函数
——
查询文本所在位置
FIND(find_text
,
within_text
,
[start_num])
FIND(
需查找的文本,包含查找文本的单元格,开始饥昌查找单元格的字符位置(可选)
)
此处
FIND
函数是搜索
{1,2,3,4,5,6,7,8,9,0}
数字在
“A1&1234567890”
中所在的位置;
A1&1234567890
的目的是在用
FIND
函数查询时,
不出现错误值,
使之后的
MIN
函数可以
正常运行。
即
FIND({1,2,3,4,5,6,7,8,9,0}
,
“
小王联系电话
58670098
负责财务
1234567890”
)
选取划黑后按
F9,
得出的位置为:
{19,20,21,22,7,9,10,8,13,11}
MIN
函数
——
返回列表中的最小值
MIN(number1,number2,……)
MIN(
数字
1
,数字
2
,
……
)
将
FIND
所得结果
{19,20,21,22,7,9,10,8,13,11}
带入
MIN
函数,最小值所得为
7
,正是第一
个数值出现的位置;
也正是之前
FIND
函数中使用
A1&1234567890
的原因。
MID
函数
——
返回文本字符串从指定位置开始特定数目的字符,即提取某段字符。
MID(text,start_num,num_chars)
MID(
被提取的文本或单元格,开始提取的字符位置,提取的字符个数
)
将上述
MIN
函数所得带入
MID(A1,7,ROW($1:$8)
;
ROW($1:$8)
使用
row
函数不是用来计算行,
而是借用其作为常量。
当然
1:8
是可以修改的,
只要大于数值个数就不影响结果。
--
MID(……)
中
“
--
”
的作用是将
MID
得出的结果变为数值,
使其可以被
LOOKUP
函数查询到。
MID(……)
选取划黑后按
F9{"5";"58";"586";"5867";"58670";"586700";"5867009";"58670098
"}
--
MID(……)
选取划黑后按
F9{5;58;586;5867;58670;586700;5867009;58670098}
LOOKUP
函数
——
从返回某个查询的值(数组形式)
LOOKUP(lookup_value,array)
LOOKUP(
在数组中查找的值,数组范围区域
)
很重要的一点:
如果
LOOKUP
找不到
lookup_value
的值,它会使用数组中小于或等于
lookup_value
的最
大值。
LOOKUP(9E+307,……
)
其中
9E+307
指的是一个烂滑扒不会出现的超大值,
9
后面有
307
个
0, 9
E+307
又可以写成
9*10^307
;那么此处搜索这个超大值,肯定无法找到,因此返回的内容
将是小于或等于
{5;58;586;5867;58670;586700;5867009;58670098}
的最大值,
即
5867009
8
。
二、如果内容中除字汉子字母外
只有连续的
11
位数字
可以用一下的公式
手机号都是
1
开头的(让虚
find
函数从第一个
1
字开始)
假如数据在
a1
=MID(A1,FIND("1",A1),11)
或者
=MIDB(A1,SEARCHB("?",A1),11)
Search
函数
实例:如果
A1=
学习的革命
,则公式
“=SEARCH("
的
"
,
A1)”
返回
3
,
=SEARCHB("
的
"
,
A1)
返回
5
。
A1
中有如下内容:要提取出数字
提取
Excel
单元格中连续的数字的函数公式是:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),ROW
($1:$8)))
或者
=LOOKUP(9E+307,--MID(H2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},H2&1234567890)),ROW(I
NDIRECT("1:"&LEN(H2)))))
解释一下这个公式
FIND
函数
——
查询文本所在位置
FIND(find_text
,
within_text
,
[start_num])
FIND(
需查找的文本,包含查找文本的单元格,开始饥昌查找单元格的字符位置(可选)
)
此处
FIND
函数是搜索
{1,2,3,4,5,6,7,8,9,0}
数字在
“A1&1234567890”
中所在的位置;
A1&1234567890
的目的是在用
FIND
函数查询时,
不出现错误值,
使之后的
MIN
函数可以
正常运行。
即
FIND({1,2,3,4,5,6,7,8,9,0}
,
“
小王联系电话
58670098
负责财务
1234567890”
)
选取划黑后按
F9,
得出的位置为:
{19,20,21,22,7,9,10,8,13,11}
MIN
函数
——
返回列表中的最小值
MIN(number1,number2,……)
MIN(
数字
1
,数字
2
,
……
)
将
FIND
所得结果
{19,20,21,22,7,9,10,8,13,11}
带入
MIN
函数,最小值所得为
7
,正是第一
个数值出现的位置;
也正是之前
FIND
函数中使用
A1&1234567890
的原因。
MID
函数
——
返回文本字符串从指定位置开始特定数目的字符,即提取某段字符。
MID(text,start_num,num_chars)
MID(
被提取的文本或单元格,开始提取的字符位置,提取的字符个数
)
将上述
MIN
函数所得带入
MID(A1,7,ROW($1:$8)
;
ROW($1:$8)
使用
row
函数不是用来计算行,
而是借用其作为常量。
当然
1:8
是可以修改的,
只要大于数值个数就不影响结果。
--
MID(……)
中
“
--
”
的作用是将
MID
得出的结果变为数值,
使其可以被
LOOKUP
函数查询到。
MID(……)
选取划黑后按
F9{"5";"58";"586";"5867";"58670";"586700";"5867009";"58670098
"}
--
MID(……)
选取划黑后按
F9{5;58;586;5867;58670;586700;5867009;58670098}
LOOKUP
函数
——
从返回某个查询的值(数组形式)
LOOKUP(lookup_value,array)
LOOKUP(
在数组中查找的值,数组范围区域
)
很重要的一点:
如果
LOOKUP
找不到
lookup_value
的值,它会使用数组中小于或等于
lookup_value
的最
大值。
LOOKUP(9E+307,……
)
其中
9E+307
指的是一个烂滑扒不会出现的超大值,
9
后面有
307
个
0, 9
E+307
又可以写成
9*10^307
;那么此处搜索这个超大值,肯定无法找到,因此返回的内容
将是小于或等于
{5;58;586;5867;58670;586700;5867009;58670098}
的最大值,
即
5867009
8
。
二、如果内容中除字汉子字母外
只有连续的
11
位数字
可以用一下的公式
手机号都是
1
开头的(让虚
find
函数从第一个
1
字开始)
假如数据在
a1
=MID(A1,FIND("1",A1),11)
或者
=MIDB(A1,SEARCHB("?",A1),11)
Search
函数
实例:如果
A1=
学习的革命
,则公式
“=SEARCH("
的
"
,
A1)”
返回
3
,
=SEARCHB("
的
"
,
A1)
返回
5
。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询