Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2745|回复: 7

[已解决]提取字母和-前面的数字

[复制链接]
发表于 2015-10-11 11:19 | 显示全部楼层 |阅读模式
我之前写的函数太长了,我是用if函数把字母分成Q.M.A,-等情况,和left函数连用。但是我发现如果我再加入其他字母,我这个if函数就是万里长城,而且他也只能套7层,所以我觉得我的思路是不对的。
最佳答案
2015-10-11 11:32
=-LOOKUP(,-LEFT(A2,ROW($1:$99)))
提取字母数字 (2).rar (7.25 KB, 下载次数: 9)

提取字母数字 (2).rar

6.75 KB, 下载次数: 15

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-10-11 11:32 | 显示全部楼层    本楼为最佳答案   
=-LOOKUP(,-LEFT(A2,ROW($1:$99)))
提取字母数字 (2).rar (7.25 KB, 下载次数: 9)

点评

学习了,赞一个  发表于 2015-10-11 12:01

评分

参与人数 2 +10 金币 +10 收起 理由
橘子红 + 10 赞一个!
sry660 + 10 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-10-11 11:35 | 显示全部楼层
试试此数组公式:
=MAX(IFERROR(--MID(A2,1,ROW($1:$99)),0))  CTRL+SHIFT+ENTER三键结束
回复

使用道具 举报

发表于 2015-10-11 16:01 | 显示全部楼层
用VBA提取的,你看一下,和你的实际情况匹配否。

提取字母数字 (2).zip

13.55 KB, 下载次数: 20

回复

使用道具 举报

发表于 2015-10-12 21:12 | 显示全部楼层
用VBA完成的,如下代码:
  1. Sub TUQU()
  2. Dim X, RG, ARR, ARR1(1 To 20000, 1 To 1)
  3. ARR = Sheets(1).Range("A2:A" & Sheets(1).Range("A65536").End(xlUp).Row)
  4. Set RG = CreateObject("VBSCRIPT.REGEXP")
  5. With RG
  6. .Global = True
  7. .Pattern = "\D.*"
  8. For X = 1 To UBound(ARR)
  9. If ARR(X, 1) <> "" Then
  10. K = K + 1
  11. ARR1(K, 1) = .Replace(ARR(X, 1), "")
  12. End If
  13. Next X
  14. End With
  15. Range("B2:B10000") = ""
  16. Range("B2").Resize(UBound(ARR)) = ARR1
  17. End Sub
复制代码
回复

使用道具 举报

发表于 2015-10-12 21:14 | 显示全部楼层
效果如下图:
12.gif
回复

使用道具 举报

 楼主| 发表于 2015-10-16 15:42 | 显示全部楼层
亲,你能不能帮我解释一下,我第一次碰到这么简明的函数和公式,求解释,谢谢
回复

使用道具 举报

 楼主| 发表于 2015-10-21 15:03 | 显示全部楼层
qh8600 发表于 2015-10-11 11:32
=-LOOKUP(,-LEFT(A2,ROW($1:$99)))

亲,在吗,我用你的思路,套用一下,但是有两个黄色不行的,你看看

提取字母数字 (2).rar

7.57 KB, 下载次数: 4

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 04:15 , Processed in 1.687432 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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