Office中国论坛/Access中国论坛

标题: 在不规则的文本中提取字母 [打印本页]

作者: szcsm    时间: 2006-6-4 00:14
标题: 在不规则的文本中提取字母
版主及各位高手请帮忙:

    例如:13256深圳之窗 经典影视A

               13256深圳之窗 经典影视AB

               13256深圳之窗 经典影视ACB  

             我想把数据中的字母A.     AB.     ACB分别提取出来有何办法!首先表示感谢!!

   
作者: szcsm    时间: 2006-6-4 00:16
其中世界之窗和经典影视部位的文字也是不固定的。
作者: xhxujy3672    时间: 2006-6-4 23:29
如果“A”是肯定的就好办
作者: szcsm    时间: 2006-6-8 04:07
字母也不是固定的格式,我在网上发现有这样的解决方式,用函数将数值.文本.字母区分开,在数值.文本.字母之间添加分隔符号,然后用分列的方式将数值.文本.字母分开,我要的也是这样的结果,但那位老兄的函数我测试过报错,那位有这样的经验,望分享.多谢!
作者: 情比金坚    时间: 2006-6-8 23:43
如果字母总是在最后,可以这样思考:从后向前巡查,如果是字母就提出来,直到碰见非字母就退出循环。
作者: szcsm    时间: 2006-6-9 20:01
五楼的朋友。

我的数据格式就是字母在后面的。你说的办法可行,能否给予具体的解答。多谢了!
作者: scottwang    时间: 2006-6-9 21:18
{=MID(A1,MIN(FIND(CHAR(ROW($126)+64),UPPER(A1)&CHAR(ROW($126)+64))),LEN(A1))}

你给的例子太少,只能给你一个参考公式.

如果字母不重复,这样也可以吧:

{=RIGHT(A1,SUM(COUNTIF(A1,"*"&CHAR(ROW($126)+64)&"*")))}

[此贴子已经被作者于2006-6-9 13:46:00编辑过]


作者: szcsm    时间: 2006-6-9 22:33
谢谢!我测试一下先。
作者: nawong2008    时间: 2006-6-10 01:58
Function nawong()
For Each Cell In Selection.Cells
Cell = Trim(Cell)
For i = Len(Cell) To 1 Step -1
keyascA = Mid(Cell, i, 1)
Debug.Print Asc(keyascA)
If Asc(keyascA) < 65 Or Asc(keyascA) > 122 Or Asc(keyascA) > 90 And Asc(keyascA) < 97 Then
Cell.Offset(, 1) = Mid(Cell, i + 1)
Exit For
End If
Next
Next
End Function




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3