Question to say "I can!"

河北快三号码和值推荐:excel提取单元格中的数字

2014-02-26

excel单元格中经常是数字和字符混在一起,那么当我们需要从单元格中提取数字时,该用什么样的方法呢?下面兰色幻想就这个问题做一个总结,希望能给大家所有启发和帮助。

1、数字在前。

如果字符串中数字在前,如A1单元格中字符为 56ABC,我们可以用下面的公式来提取。

=LOOKUP(9^9,--LEFT(C6,ROW(1:9)))

估计很多没基础的看不懂上面的公式,9^9是什么?后面row又是什么用法?这里简单介绍一下吧。lookup函数可以查找到一组数中最后一个数字,那么我们就用left进行截取前1个,前2个,前3个..前9个,怎么实现这个,就是把left第二个参数设置成一个数组。row函数可以生成一个数字序列来完成这个任务。

2、数字在后

如果数字就不能用上面的方法了。我们可以查找最前的数字位置然后用MID函数提取。

=MID(C5,MIN(FIND(ROW(1:10)-1,C5&"0123456789")),9)

公式说明:使用find查找第一个数字的位置,row生成0~9的数字,后面之所以加上0~9,因为如果字符串中没有某个数字,查找返回错误值,从而会让整个公式产生错误。

3. 数字在中间

数字在中间是最难提取的,不能再用简单的截取就能实现了。那怎么办呢?我们可综合一下两种方法。

=LOOKUP(9^9,--LEFT(MID(C7,MIN(FIND(ROW(1:10)-1,C7&"0123456789")),10),ROW(1:9)))

当然,我们还可以用第二种方法的思路,求第一个数字,再计算第二个数字,然后再倒减出总的位数。那样公式会比这个公式要复杂很多。

 

附:提取单元格A1中的中文:

数组公式
=MID(A1,MIN(IF(LENB(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1)))))>LEN(LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))),ROW(INDIRECT("1:"&LEN(A1))),LEN(A1)+1)),LENB(A1)-LEN(A1))
作者:admin | Categories:软件使用 | Tags: 、、

发表评论

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

*

  • 财经随笔:年近半百,“金融科技”仍是少年 2019-05-20
  • 山西寿阳:竹马戏演员的台前幕后 2019-05-19
  • 主城赏荷地图出炉 快带上相机出发 2019-05-19
  • 男人不安全了?日本读心美女机器人,你咋想的它全知道! 2019-05-03
  • 重庆市永川区:“1+8+X”模式探索基层人民调解新路子 2019-05-03
  • 春节我在岗:爸妈,儿子在军营给您们拜年了 2019-04-22
  • 传统文化,在中国文化里,居住是衡量一个家庭生活的基本因素。 2019-04-15
  • 俄韩就铺设途经朝鲜的天然气管道恢复磋商 2019-04-15
  • 经营者要想“我心换你心”,就要未雨绸缪,让不诚信的诱惑少一点,如此才能在市场中生存下来。反过来说,承担不起亏损就关门歇业,是否也是一种不诚信呢? 2019-04-11
  • 江西省能源集团公司党委副书记胡运生等2人被调查 2019-04-11
  • 乌鲁木齐:这个端午,他们的假日叫“坚守” 2019-03-29
  • 中国电信安康分公司60家智慧家庭便民服务中心盛大开业中国电信安康-最新活动 2019-03-28
  • 中心城区核心片组完成签约清零任务 2019-03-28
  • (Dos sesiones) Legislativo nacional de China concluye sesión anual Spanish.xinhuanet.com 2019-03-28
  • 西班牙一旅游公司官网竟把台湾和香港列为“国家” 2019-03-27
  • 282| 208| 450| 997| 854| 229| 987| 865| 290| 653|