Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: as0810114

[习题] 混合字符串提取数字 开帖啦,已评分

[复制链接]
发表于 2013-5-9 15:11 | 显示全部楼层
  1. =MID(A2,MATCH(,MID(A2,ROW(A:A),1)*0,),LEN(A2)-SUM(N(MID(A2,ROW(A:A),1)>"9")))
复制代码

评分

参与人数 1 +9 收起 理由
as0810114 + 9 赞一个!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2013-5-9 15:13 | 显示全部楼层
  1. =MID(A2,MATCH(,MID(A2,ROW($1:15),1)*0,),LOOKUP(1,MID(A2,ROW($1:15),1)*0,ROW($1:15))-MATCH(,MID(A2,ROW($1:15),1)*0,)+1)
复制代码

评分

参与人数 1 +7 收起 理由
as0810114 + 7 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-5-9 15:16 | 显示全部楼层
回复

使用道具 举报

发表于 2013-5-9 16:34 | 显示全部楼层
公式有点长:数组公式
  1. =MID(A2,MIN(IF(ISNUMBER(-MID(A2,ROW($1:$32),1))*1>0,ROW($1:$32),"A")),MAX(IF(ISNUMBER(-MID(A2,ROW($1:$32),1))*1>0,ROW($1:$32),"A"))-MIN(IF(ISNUMBER(-MID(A2,ROW($1:$32),1))*1>0,ROW($1:$32),"A"))+1)
复制代码

点评

已经开帖,分数容后再补。  发表于 2013-5-10 13:26

评分

参与人数 1 +8 收起 理由
as0810114 + 8

查看全部评分

回复

使用道具 举报

发表于 2013-5-9 21:33 | 显示全部楼层
=MID(A2,MATCH(,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),),MATCH(9,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))-MATCH(,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),)+1)

点评

已经开帖,分数容后再补。  发表于 2013-5-10 13:26

评分

参与人数 1 +9 收起 理由
as0810114 + 9 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-5-9 22:44 | 显示全部楼层

这个公式有点难啊,不知道对不对,看看!
  1. =MID(A2,MIN(IF(ISNUMBER(--MID(A2,ROW($1:$50),1))*1,ROW($1:$50),"a")),MAX(IF(ISNUMBER(--MID(A2,ROW($1:$50),1))*1,ROW($1:$50),"a"))-MIN(IF(ISNUMBER(--MID(A2,ROW($1:$50),1))*1,ROW($1:$50),"a"))+1)
复制代码
好长啊!

点评

你赚了,我发错了  发表于 2013-5-11 13:22
已经开帖,分数容后再补。  发表于 2013-5-10 13:26

评分

参与人数 1 +9 金币 +9 收起 理由
JLxiangwei + 9 + 9 代发BB

查看全部评分

回复

使用道具 举报

发表于 2013-5-10 08:57 | 显示全部楼层
本帖最后由 zx_wl 于 2013-5-10 09:17 编辑
  1. {=MID(A2,MATCH(,MID(A2,ROW($1:$99),1)*0,),COUNT(-(0&MID(SUBSTITUTE(A2,"^",0),ROW(INDIRECT("1:"&LEN(A2))),1))))}
复制代码

点评

已经开帖,分数容后再补。  发表于 2013-5-10 13:27

评分

参与人数 1 +9 收起 理由
JLxiangwei + 9

查看全部评分

回复

使用道具 举报

发表于 2013-5-10 10:28 | 显示全部楼层
又想了一个,发上来大家一起学习一下。好长啊!
  1. =IF(MATCH(0,0*MID($A2,ROW($1:$15),1),)=MATCH(0,0*MID($A2,ROW($1:$15),1),1),MID(A2,MATCH(0,0*MID($A2,ROW($1:$15),1),),MATCH(0,0*MID($A2,ROW($1:$15),1),1)),MID(A2,MATCH(0,0*MID($A2,ROW($1:$15),1),),MATCH(0,0*MID($A2,ROW($1:$15),1),1)-MATCH(0,0*MID($A2,ROW($1:$15),1),)+1))
复制代码

点评

幸好在这楼你占了个位,不然还扣不到你分分了,哈哈哈  发表于 2013-5-11 13:24

评分

参与人数 1 -9 收起 理由
JLxiangwei -9 上面评多了,减回来

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-5-10 13:15 | 显示全部楼层
hjcotton 发表于 2013-5-8 14:51
LOOKUP("A",RIGHT(LEFT(A2,MATCH(1,-MID(0&A2,ROW($1:141),1))-1),ROW($1:141)))

帅的掉渣,霸气外露啊。
回复

使用道具 举报

发表于 2013-5-13 22:53 | 显示全部楼层
本帖最后由 zjyxp 于 2013-5-13 23:00 编辑

Public Function 提取数字(rg As Range)
Dim reg
  Dim Match, Matches
  Dim str
  Set reg = CreateObject("VBScript.RegExp")
  
  With reg
    .Global = True
    .Pattern = "\d+(\.|\^)?\d+"
    Set Matches = .Execute(rg.Text)
        For Each Match In Matches
            提取数字 = Match
        Next Match
  End With
End Function

评分

参与人数 1 +9 收起 理由
as0810114 + 9 谢了,叫老班写,他非要我发帖。

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 10:50 , Processed in 0.351260 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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