本文总共1042个字,阅读需4分钟,全文加载时间:2.352s,本站综合其他专栏收录该内容! 字体大小:

文章导读:有些人总是喜欢把所有东西都备注在一个单元格里面,虽然这样不用换行换列,还可能一复制就完事。但是达咩❌!这样对于后面的数据清洗、数据提取等等都会极其不方便!比如当你数字和文字在一起,我只要里面的数字,……各位看官请向下阅读:

有些人总是喜欢把所有东西都备注在一个单元格里面,虽然这样不用换行换列,还可能一复制就完事。但是达咩❌!这样对于后面的数据清洗、数据提取等等都会极其不方便!比如当你数字和文字在一起,我只要里面的数字,难道要一个个复制里面的数字吗?

不可不可!今天给大家介绍一个公式,可以帮助大家快准狠地提取到对应的数字。

={-LOOKUP(,-MID(单元格,MIN(FIND(ROW($1:$10)-1,单元格&1/17)),ROW($1:$9)))}

比如在AB列想要提取到AA列里面的数字,在AB列复制上面的公式,

={-LOOKUP(,-MID(AA2,MIN(FIND(ROW($1:$10)-1,AA2&1/17)),ROW($1:$9)))}

然后ctrl+shift+enter构成数组公式就可!

这个看起来比较复杂,我来一个个分解:

1、(FIND(ROW($1:$10)-1,AA2&1/17):

① ROW($1:$10)-1———构建0,1,2,3,4,5,6,7,8,9的数组;

②AA2&1/17——AA2单元格的内容&1/17的结果,1/17得到的结果有包含0至9的数字,这样可以避免FIND函数找不到数值而出错;

③(FIND(ROW($1:$10)-1,AA2&1/17)——Find(查找值,在区域内查找),可以判断数字在AA单元格的第几个字符出现。

2、MIN(FIND(ROW($1:$10)-1,AA2&1/17))

在FIND函数返回的数组中找到最小值,也就是在AA单元格中出现的第一个数字所在的位置;

3、MID(AA2,MIN(FIND(ROW($1:$10)-1,AA2&1/17)),ROW($1:$9))

①ROW($1:$9)——构建1,2,3,4,5,6,7,8,9的数组;

②-MID(AA2,MIN(FIND(ROW($1:$10)-1,AA2&1/17)),ROW($1:$9))——MID(单元格,取数开始的位置,取多少个数),并且“-”将文本转换为数值;

4、-LOOKUP(,-MID(AA2,MIN(FIND(ROW($1:$10)-1,AA2&1/17)),ROW($1:$9)))

LOOKUP(查找值,查找的范围),如果找不到则返回mid得到数组中的最大值;并且“-”与mid前的“-”负负得正。

这里给大家展示公式求值的过程方便大家理解,如果还是理解不了直接复制公式改下单元格也简单粗暴~

以上就是今天分享的内容~希望对大家有所帮助!

#百粉#

#Excel技巧#

以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!

你可能对这些文章感兴趣:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注