如何从EXC EL中快速提取中文
如果有N多如下的单元格
Man ager经理
Op erato r操作工
工业经济Ware house Lead er仓库管理组长
Pakci ng 包装操作工
按ALT+F11,或
依次点工具,宏,VB编辑器,弹出的编辑器中点插入模块,新弹出的空白窗口中输入以下代码:
Fun ction getc hn(My Value As R ange)
Di m i A s Int eger
Dim chnAs St ring
For i =1 ToLen(M yValu e)
If As c(Mid(MyVa lue,i, 1)) < 0 Then
ch n = c hn &Mid(M yValu e, i, 1)
EndIf火龙疗法
Next
get chn = chn爱美说
En d Fun ction
关闭VB编辑器窗口,回到表格中,
选中你要显示中文字符的单元格,如B1,点插入,函数,选择自定义函数,这时函数列表中有一个“get chn”这样的函数,这就是你刚才编辑的那段VB编码代表的一个自定义函数。其用法和EXCEl中函数用法是一样的,其参数就是你包含中中文那个单元格,比如A1单元格,就是你的“”字符串。结果是经理两个字显示在B1中, 雅特士写以上过程是让你明白,刚才编辑的这个函数是什么意思,其实,你可以直接在B1中输入:=getch n(A1)
得到的结果就是“经理”两个字,
光标指向B1单元格右下角小黑点,光标会变成小黑十字,双击左键,完成。
但愿你能看明白。
对于例子来说是一个简单的办法,但是其对于“Man ager经理A1”这样的混合数据就不行了。 另外,如你所问的:如果你想只提取英文,你可以另编辑一个自定义函数(别叫
ge tchn,可以叫ge ten这样的随便你喜欢了),然后编码中的“If A sc(Mi d(MyV alue, i, 1)) <0 The n ”语句把<0改成>0就OK了。
只是不明白 chn = ch n & M id(My Value, i,1)
为什么chn没有初始值?相关内容
•excel中:中英文,数字,符号在一个格子里,如何将中... •如何将EX CEL单个储存格内的中文/字母/数字分别提取出...
• EXCE L中如何快速查单元格中的中文字符?
R26; EX CEL如何快速提取符合条件的数据!急!
226; 如何可以将e xcel里的多个图片快速提取出来存为单个图...
更多关于exce l 提取中文的问题>>
查看同主题问题: exc el 提取中文
劳合乔治其他回答共6 条
利用:数据/自动筛选功能,不知我说的对否
回答者: xuxi uxian g - 助理三级 2008-12-13 23:31
不知道中英文中间有没空格,有的话可以通过
数据-分列-分隔符号-空格-确定,试试看.
回答者:l ianga c007- 经理五级2008-12-14 00:23
旁边一列输入公式:
=R IGHT(E5,LE NB(E5)-LEN(E5)),拖一下就OK了,得到中文。
回答者: NG_677 -江湖新秀五级2008-12-14 01:08
我知道了:英文是单字节,中文是可以双字节的,两个的差就是中文的字数了。再用RIGHT得到中文。
若单元格A1为 Mana ger经理
取中文:
=ri ght(A1,len b(A1)-len(A1))
抽搐症
取英文:
=lef t(A1,2len(A1)-l enb(A1))
说明:rig ht()与left():取左取右。例~r ight(A1,3)=r经理,其中A1是作用单元格,3表示从第几个开始取。lef t函数与其类似。
l enb()为计算bi t数的函数,len()则计算字符数,每个汉字占两个字节,而英文只占一个,这样代入公式计算就很容易得到要取的范围了。
忽忽··~~自己看看咯,偶的说明很详细咯。
回答者:离夏小安 - 试用期一级 2008-12-14 01:18
我平时只是把中英文分开打在不同的单元格内,要看中文时,把英文那列(行)隐藏。要是打印的话,就复制一个表格,然后把不需要的中(英)部分删除,就可以打印了。方法是什么并不重要,重要的是你自己用习惯了哪一种