如何提取excel中的一段excel数字前面加符号,文字,符号

新闻资讯NewsCenter
Excel技巧Excel>>>>
财务如何使用Excel填写人民币符号和提取数字
  财务日常工作中,需要用到Excel电子表格软件,有时还需要在表格中提取数字,并在数字前面加上人民币符号&¥&,比如下图,A列是相应金额,将A列金额中的数字提取出来,放在对应的B到L列中,并且在数字最前面加上人民币符号&¥&。
  要达到上面的效果在B2单元格输入公式=LEFT(RIGHT(TEXT($A2/1%,& ¥0; ¥-0; ¥0;&),12-COLUMN(A1)))
  Q:如何输入人民币符号
  A:人民币符号的输入方法:
  第一,在中文状态下,按shift+4键,输入的为一横¥。
  第二,按住ALT键,在小键盘上连续键入0165这四个数字,然后松开ALT键就可以输入人民币符号,可输入这样两横形式的人民币符号:¥。
  思路和公式解释:
  第一:A2/1%,得到5555501。目的是将A列所有数字由小数变为整数。
  第二,=TEXT(数字,& ¥0; ¥-0; ¥0&),根据text函数的三分号四类型:正、负、零、文本,将数字前面添加人民币¥符号。
  第三,left(right部分的结果),逐一提取第一个字符。
  亿仟佰拾万仟佰拾元角分,共11位。12-COLUMN(A1),得到11,left和right结合提取数字。
  数字小写转换为大写的公式:
  =SUBSTITUTE(SUBSTITUTE(IF(A2&-0.5%,,&负&)&TEXT(INT(ABS(A2)+0.5%),&[dbnum2]G/通用格式元;;&)&TEXT(RIGHT(FIXED(A2),2),&[dbnum2]0角0分;;&&IF(ABS(A2)&1%,&整&,)),&零角&,IF(ABS(A2)&1,,&零&)),&零分&,&整&),效果为:伍万伍仟伍佰伍拾伍元零壹分
  联系方式:
  1、如果您有任何疑问可以随时拨打我们24小时专线:;
  2、仁和会计全国热线:400-;
  3、您也可以直接点击咨询我们了解详情。
  4、关注仁和会计官方微信,了解更多财税信息,微信号:whrhkj。
版权所有 (C)
武汉荣昌仁和会计咨询服务有限公司 电话:027-&&鄂ICP备号-1Question to say &I can!&
这要分好几情况:
1.要取前几位,或者后几位,如果都是数值,那么可以用left( )和right( )函数。
2.要取的是中间的几位,那么可以用MID(text,start_num,num_chars)函数。
3.还有一种是混合类型的,比如“11年秋书法竞赛一等奖(1000元)”、“11年秋英语朗诵比赛二等奖(500元)”,要取出其中的,那需要的函数就比较复杂,但也是可以实现的。
我们就是要在EXCEL中将单元格中数字和字符混合在一起的部分自动地把数字取出来。
一般公式:
=LOOKUP(9E+307,--MIDB(A1,SEARCHB("?",A1),ROW(INDIRECT("1:"&LEN(A1)))))
注:A1指要取出文字的单元格,MID前面是两个-,公式里的引号要记得全部改为英文的引号。(下同)
但是,这样做对小数不适用,我们再加以改进:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&)),ROW(INDIRECT("1:"&LEN(A1)))))
但你会发现,我们上面的例子要的是后面的那个数字,而不是前面的,那么就还得改进,我们用right(A1,7)取后7位替换原公式中的A1,如果如下:
=LOOKUP(9E+307,--MID(right(A1,7),MIN(FIND({0;1;2;3;4;5;6;7;8;9},right(A1,7)&)),ROW(INDIRECT("1:"&LEN(right(A1,7))))))
至此,我们终于解决了上面的问题。
作者:admin | Categories: | Tags: 、、
06 只能取6
软件使用 下的最新文章
赞助商链接excel怎么提取特定字符串前后的数据?
作者:佚名
字体:[ ] 来源:互联网 时间:05-22 11:59:40
excel怎么提取特定字符串前后的数据?想要提取某个字符串前后的数据,该怎么设置呢?及泥潭我们就来看看excel提取特定字符前后的数字等内容的教程,需要的朋友可以参考下
本例介绍如何提取文本字符串中特定字符前或后的内容。
软件名称:Excel for mac V14.4.2(多语中文版) 苹果电脑版软件大小:1.29GB更新时间:
&1、如下图,要提取#后面的字符,也即红色的&SDK&到B列。
2、首先,在B2中输入公式:=FIND(&#&,A2),返回#在字符串中的位置,#在A2单元格文本中是第6个字符。
3、知识点说明:FIND()函数查找第一参数在第二参数中的位置。如下图,查找&B&在&ABCD&中是第几个字符。第一参数是要查找的字符&B&,第二参数是被查找的字符串。最终返回&B&在&ABCD&中是第2个字符。
4、然后,在B2中输入公式:=MID(A2,FIND(&#&,A2)+1,99),这样,就提取出了#后的字符。
5、知识点说明:MID()函数返回从字符串中制定字符开始若干个字符的字符串。如下图,MID()函数返回&ABCDE&字符串中从第2个字符开始的连续3个字符,也就是返回&BCD&。
6、综上,=MID(A2,FIND(&#&,A2)+1,99)的意思就是从A2单元格#字符后面的一个字符起,取长度为99的字符串。其中的99是一个较大的数字,能涵盖#后字符的最大长度即可。
相关推荐:
大家感兴趣的内容
12345678910
最近更新的内容8684人阅读
小问题/FAQ(47)
Excel输入数据过程中,经常出现在单元格中输入这样的字符串:GH0012JI、ACVB908、华升12-58JK、五香12.56元、0001#、010258等。在进行数据处理时,又需要把其中的数字、12-58、12.56、0001提取出来。
如何通过使用Excel的工作表函数,提取出字符串中的数字?
一、问题分析
对于已经输入单元格中的字符串,每一个字符在字符串中都有自己固定的位置,这个固定位置都可以用序列数(1、2、3、……)来表示,用这些序列数可以构成一个可用的常数数组。
以字符串“五香12.56元”为例:序列数1、2、3、4、5、6、7、8分别对应着字符串“五香12.56元”中字符“五”、“香”、“1”、“2”、“.”、“5”、“6”、“元”。由序列数组成一个保存在内存中的新数组{1;2;3;4;5;6;7;8}(用列的形式保存),对应字符串中的字符构成的数组{“五”;“香”;“1”;“2”;“.”;“5”;“6”;“元”}。因此解决问题可以从数组着手思考。
二、思路框架
问题的关键是,如何用序列数重点描述出字符串中的数字部分的起始位置和终止位置,从而用MID函数从指定位置开始提取出指定个数的字符(数字)。
不难看出,两个保存在内存中的新数组:
{“五”;“香”;“1”;“2”;“.”;“5”;“6”;“元”}
{1;2;3;4;5;6;7;8}
数组具有相同大小的数据范围,而后一个数组中的每一个数值可以准确地描述出字符串中字符位置。
字符与序列数的对应关系如下表所示:
字符&&&&&字符位置
五&&——&&&&1
香&&——&&&&2
1&&&——&&&&3
2&&&——&&&&4
.&&&——&&&&5
5&&&——&&&&6
6&&&——&&&&7
元&&——&&&&8
所以解决问题的基本框架是:
用MID函数从字符串的第一个数字位置起提取到最后一个数字止的字符个数。即{=MID(字符串,第一个数字位置,最后一个字符位置-第一个字符位置+1}。其中“+1”是补上最后一个数字位置减去第一个数字位置而减少的一个数字位。
三、解决方案及步骤
假定字符串输入在A2单元格。
⑴确定A2中字符串的长度。
即用LEN函数计算出A2中字符串中字符的个数,这个字符个数值就是字符串中最后一个字符在字符串中的位置:LEN(A2)。
⑵确认字符串中的每一个字符位置序列数组成的新数组。
用INDIRECT函数返回一个由文本字符串指定的引用:
=INDIRECT(&1:&&LEN($A2))
用返回行数的函数ROW确定文本引用INDIRECT(&1:&&LEN($A2))构成的新数组:{=ROW(INDIRECT(&1:&&LEN($A2)))}
⑶用按指定位置开始返回指定个数字符的函数MID返回由新数组{=ROW(INDIRECT(&1:&&LEN($A2)))}确定位置的每一个字符,并将文本转化成数值型数据:
{=--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)}
函数MID返回的字符是文本,将文本转化为数值型数据,可以用函数VALUE,也可以同等功能地用符号“-&-”或“+0”或“-0”简化表达,这里用“-&-”表示。
⑷函数ISNUMBER判别MID函数提取出来的字符是不是数字,是数字返回TRUE,不是数字返回FALSE。
具体公式是:
{=ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1))}
⑸逻辑函数IF根据用函数ISNUMBER检测MID函数提取出来的字符是否数值的真假,返回数字字符在字符串中的位置,如果不是数字则返回空白字符。
具体公式是:
{=IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&)}
⑹用MIN函数返回数字位置数组成数组中的最小数。
具体公式是:
{=MIN(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))}
⑺用MAX函数返回数字位置数组中的最大数。
具体公式是:
{=MAX(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))}
⑻确认字符串中第一个数字的起始位置:
{=MIN(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))}
⑼确认字符串中第一个数字与最后一个数字之间的字符个数:
{=MAX(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))-&MIN(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))+1}
公式中的“+1”,是对字符串中最后一个数字位数减去第一个数字位数,造成第一个数字与最后一个数字之间的字符个数少1的补充。
⑽用函数MID在A1中按指定位置开始提取指定个数的字符(数字)。
综上所述,第⑻步的公式为MID函数的第2个参数,第⑼步的公式为MID函数的第3个参数。组合后提取A1中数字的具体公式如下。
在B2单元格编辑公式:
=MID($A2,MIN(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&)),MAX(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))-MIN(IF(ISNUMBER(--MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)),ROW(INDIRECT(&1:&&LEN($A2))),&&))+1)
用三键确认公式输入,即用组合键Ctrl+Shift+Enter进行公式确认。
本公式不适用的文本字符串类型:形如WEPIU等。
四、适当简化公式
基于文本数字转化为数值型数字表达方式——用函数VALUE、符号“--”和“+0”或“-0”效果完全一致,所以具体的提取文本中数字的公式可以适当简化为:
{=MID($A2,MIN(IF(ISNUMBER(MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)+0),ROW(INDIRECT(&1:&&LEN($A2))))),MAX(IF(ISNUMBER(MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)+0),ROW(INDIRECT(&1:&&LEN($A2)))))-MIN(IF(ISNUMBER(MID($A2,ROW(INDIRECT(&1:&&LEN($A2))),1)+0),ROW(INDIRECT(&1:&&LEN($A2)))))+1)}
五、编后语
特别指出,对于提取文本中的数字,本公式不是最简方法,同时也不一定是最佳方案。
通过对字符串中数字的提取操作,试图用Excel的工作表函数直接来完成原始的数字提取工作,因此编辑的公式冗长;庖丁解牛的解决方案试图说明对文本中数字提取的想法和函数、数组原始的理解及使用,从而描述清楚整个公式构成框架。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:661144次
积分:8732
积分:8732
排名:第1957名
原创:212篇
转载:48篇
评论:68条
(1)(1)(1)(2)(1)(1)(2)(1)(1)(1)(3)(3)(2)(1)(1)(3)(20)(4)(6)(7)(1)(8)(1)(2)(4)(2)(7)(7)(5)(6)(11)(6)(2)(3)(1)(1)(2)(11)(8)(18)(32)(13)(13)(1)(9)(4)(3)(1)(9)(6)(10)}

我要回帖

更多关于 excel文字提取数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信