EXCEL提取某单元格数值函数提取汉字,怎么用一个函数做到,一下,谢谢

(window.slotbydup=window.slotbydup || []).push({
id: '3284507',
container: s,
size: '0,0',
display: 'inlay-fix'
Excel数组公式提取单元格内第一个汉字前的字符串
有时需要在Excel中提取单元格内文本第一个汉字前的字符串,例如从&MD-T289(XQ01)黑色&中提取&MD-T289(XQ01)&。如果各单元格文本中首个汉字前的字符串长度不等,可用下面的一些数组公式。例如字符串在下图所示的A列单元格中,在B列提取第一个汉字前的字符串。
要提取第一个汉字前的字符串,首先要确定文本中第一个汉字的位置。确定文本中第一个汉字位置的公式有许多,如下面的几个公式,假如文本在A2单元格中:
=MATCH(2,LENB(MID(A2,ROW(INDIRECT(&1:&&LEN(A2))),1)),)
=MATCH(TRUE,MID(A2,ROW(INDIRECT(&1:&&LEN(A2))),1)&&吖&,)
上述两个公式为数组公式,需按Ctrl+Shift+Enter结束,下同。
1.第一个公式先用MID函数将单元格内文本的各个字符放置到一个数组,再用LENB函数判断各字符的长度,LENB函数对于单字节字符返回&1,&,而对于汉字(双字节)返回&2&。最后用MATCH函数判断第一个&2&的位置,即第一个汉字的位置。
2.第二个公式中,先用MID函数将单元格内文本的各个字符放置到一个数组,然后将每个字符与&吖&字比较。对于常用汉字,比较后的结果会返回&TRUE&,因为在Excel中汉字也如同其他单字节字符一样可以进行比较,&吖&字在常用汉字中&最小&,因而用其与其他汉字比较。如
=&吖&&&一&
返回TRUE。
最后用MATCH函数判断第一个&TRUE&的位置,即第一个汉字的位置。
对于一些特殊的文本,例如文本的右侧全部为汉字,如上图A10单元格,可用下面的简单公式得到第一个汉字的位置:
=2*LEN(A10)-LENB(A10)+1
说明:&2*LEN(A10)-LENB(A10)&返回A10单元格文本中单字节字符的数量。
如果第一个汉字前的字符串中不包含空格,下面的数组公式也可返回第一个汉字的位置,例如A2:A7区域中的文本。对于A2单元格,数组公式:
=MATCH(& &,MIDB(A2,ROW(INDIRECT(&1:&&LEN(A2))),1),)
将返回&4&。
说明:MIDB函数对于汉字(双字节)按&2&计数,即按字节计数。MIDB函数对汉字每个字节会返回一个空格字符,如下面的公式:
=MIDB(&一&,1,1)
返回空格字符。而公式:
=MIDB(&一&,1,2)
返回汉字本身,即&一&字。
公式最后用MATC函数返回第一个空格字符的位置,即第一个汉字的位置。
取得第一个汉字的位置后,用LEFT函数即可提取第一个汉字前的字符串,如A2单元格,可用下面的数组公式:
=LEFT(A2,MATCH(2,LENB(MID(A2,ROW(INDIRECT(&1:&&LEN(A2))),1)),)-1)
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------
猜你感兴趣excel怎么提取汉字和英文?excel不使用函数提取的方法
作者:佚名
字体:[ ] 来源:互联网 时间:05-10 12:05:18
excel怎么提取汉字和英?excel表格中总是有中文和英文在一起的,但是想单独提取出来,之前我们介绍过使用函数提取的方法,下面我们来分享excel不使用函数提取的方法,需要的朋友可以参考下
在我们分离汉字和英文名字时经常需要将数据分离。这里教大家不用函数的方式,简单易学。
软件名称:Excel2007 绿色版精简免费[58MB] 软件大小:58MB更新时间:
1、首先我们打开一个工作样表作为例子。
2、我们需要将d列源数据,分离成A列和C列的数据。一般我们会使用函数提取,实际上并不用。我们可以使用更简单的技巧。
3、将D列复制到另一列,并调整列宽到最小像素,使用两端对齐填充功能,分离汉字和英文单词。
4、因为空格将英文姓名分离,所以被处理成两行,我们需要对其进行修改,使用连字符或者任意字符替换空格,来链接英文姓名,并重复步骤3。
5、使用筛选功能,将英文名字全部删选出来。操作步骤在筛选命令菜单中,使用文本筛选功能。判断条件选择小于等于任意汉字即可。全选英文名字,然后清除内容。
6、去除筛选功能,并将列宽恢复正常宽度,再次使用两端对齐填充,恢复中文姓名的完整。
7、使用定位查找空值功能,将空白的单元格删除掉,完成对中文姓名的提取操作。
8、重复上列步骤,对英文姓名进行提取,提取英文姓名则需要在筛选判断条件中使用大于等于任意汉字的条件。并使用替换功能,将#连接符全部替换为空格,完成对英文姓名的提取。
相关推荐:
大家感兴趣的内容
12345678910
最近更新的内容EXCEL常用函数应用实例:如何提取姓名中的姓
作者:佚名
字体:[ ] 来源:互联网 时间:08-19 17:40:54
本篇文章通过EXCEL常用函数应用实例向大家介绍EXCEL常用函数应用实例,对办公人员非常有帮助,可以大大提高我们的工作效率
Excel函数一共有11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。对于很多人来说,并不需掌握深奥的EXCEL 函数,我们只要懂得基本函数的应用就能大大提高我们的工作效率。
截取字符串是我们常用的函数,本次讲解如何使用LEFT截取字符串函数提取姓名中的姓,不含复姓
Microsoft office EXCEL 2003 以上的版本
待处理姓名数据表
一、提取分析
1、在中国,姓都是在名的前面,并且绝大部分姓都是一个汉字,复姓(如:上官、欧阳等)较少数。本次我们假设《待处理姓名数据表》中的姓均为非复姓,后续再来详细讲解复姓和非复姓的提取方法。
2、有姓名的数据,要得到他的姓非常很简单,左边第一个字就是。只需要告诉计算机,把姓名这个字段的第一个字裁剪出来,放在姓的字段即可。
而截取字符串函数LEFT就具备这样的能力。
二、使用LEFT提取姓
首先我们了解一下LEFT函数。
LEFT(text,[num_chars]) 函数有两个参数,text是要被截取的数据,在函数中&[]&表示可选参数,也就是说这个参数可以输入,也可以不输入,当不输入时,默认截取一个字符。
也就是LEFT (text)等同于left(text,1)。
在这个例子中,我们的text就是某一个人的姓名。首选我们在单元格输入&=LEFT(&
然后鼠标点选姓名的单元格,因为只取一个字符,所以我们第二个参数不填,也可以填上&,1&
一个函数结束之后都需要加上&)&
接着是填充,鼠标放在单元格右下角,双击填充,就把所有的姓都取出来了。
以上就是如何提取姓名中的姓的EXCEL常用函数应用实例,希望对大家有所帮助!
大家感兴趣的内容
12345678910
最近更新的内容如何取出单元格中减字或抵字后面的数据,且一个单元格中有且仅有一个满或抵函数应该怎么写? - 知乎2被浏览354分享邀请回答24 条评论分享收藏感谢收起15 条评论分享收藏感谢收起求助!如何将单元格里每一个中文的首字母提取出来?【excel吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:151,728贴子:
求助!如何将单元格里每一个中文的首字母提取出来?收藏
如图所示,就是提取一串中文里 每个汉字的 拼音 首字母,懂的大神帮帮忙,谢谢了,我用的是office2013
AutoTDS-V1型全自动热解吸仪是一款20位常温二次全自动热解吸仪,气路采....
=LEFT(A:A,1)
假设条码在A列
=LEFT(A2)下拉
alt+f11,插入模块,粘贴进去。即可用hztopy函数Function hztopy(hzpy As String) As String Dim hzstring As String, pystring As String Dim hzpysum As Integer, hzi As Integer, hzpyhex As Integer hzstring = Trim(hzpy) hzpysum = Len(Trim(hzstring)) pystring = && For hzi = 1 To hzpysum hzpyhex = &&H& + Hex(Asc(Mid(hzstring, hzi, 1))) Select Case hzpyhex Case &HB0A1 To &HB0C4: pystring = pystring + &A& Case &HB0C5 To &HB2C0: pystring = pystring + &B& Case &HB2C1 To &HB4ED: pystring = pystring + &C& Case &HB4EE To &HB6E9: pystring = pystring + &D& Case &HB6EA To &HB7A1: pystring = pystring + &E& Case &HB7A2 To &HB8C0: pystring = pystring + &F& Case &HB8C1 To &HB9FD: pystring = pystring + &G& Case &HB9FE To &HBBF6: pystring = pystring + &H& Case &HBBF7 To &HBFA5: pystring = pystring + &J& Case &HBFA6 To &HC0AB: pystring = pystring + &K& Case &HC0AC To &HC2E7: pystring = pystring + &L& Case &HC2E8 To &HC4C2: pystring = pystring + &M& Case &HC4C3 To &HC5B5: pystring = pystring + &N& Case &HC5B6 To &HC5BD: pystring = pystring + &O& Case &HC5BE To &HC6D9: pystring = pystring + &P& Case &HC6DA To &HC8BA: pystring = pystring + &Q& Case &HC8BB To &HC8F5: pystring = pystring + &R& Case &HC8F6 To &HCBF9: pystring = pystring + &S& Case &HCBFA To &HCDD9: pystring = pystring + &T& Case &HEDC5: pystring = pystring + &T& Case &HCDDA To &HCEF3: pystring = pystring + &W& Case &HCEF4 To &HD1B8: pystring = pystring + &X& Case &HD1B9 To &HD4D0: pystring = pystring + &Y& Case &HD4D1 To &HD7F9: pystring = pystring + &Z& Case Else pystring = pystring + Mid(hzstring, hzi, 1) End Select Next hztopy = pystringEnd Function
登录百度帐号推荐应用

我要回帖

更多关于 不规则单元格提取汉字 的文章

 

随机推荐