Excel2007综合班Ⅱ(16203班)课时5小结
小结之前,先感谢论坛上各位先辈的辛苦付出,尤其是感谢一直陪伴着我们这一个多月的班班和班德
这一个多月下来,过得很充实也获益良多,很高兴认识了那么多人,强大的班副,热情的班长,可爱的小土豆组长
还有小强的A组组长,还有一堆一堆人。就不详细地列了,反正真的觉得很开心,很充实,喜欢学习的感觉。
下面开始这一课时的小结
首先,文本函数都是非常灵活的函数
1.1 字符的截取函数: LEFT() RIGHT() MID()
这里面除了left,right,mid以外,还有三个函数,LeftB,rightb,midb,之前并没有意识到这后面的函个函数的用途,直到班副在群里面讲到了一个应用
练习题中的这个题目,如果表示金额的不是全角的人民币,而是美元的话,就可以用另外一个公式
将A列金额分列显示
金额十亿千百十万千百十元角分
0.12 $12
1.23 $123
123.45 $12345
12,345.67 $1234567
123,456.78 $12345678
12,345,678.90 $1234567890
123,456,789.90 $12345678990
=LEFTB(RIGHT("你$"&$A17*100,COLUMNS(B:$M)))
因为你是全角,然后用leftb得到的只有半角,前面不要显示的地方,就是真的是空的了。
小小地应用,让人觉得,excel无穷无尽,很多东西都已经提供了,只要能想到,很多神奇的方法都会出现的。
至于mid,其实刚开始我以为是取最中间的,然后并没有意识到它的强大,木兰老师讲到之后,就想起来,之前看到的许多应用中,都有它。
因为参数的灵活,所以它真的非常强大
还是继续在作业里面粘例子吧
编号提取后
PEFW60223602
AFW772342772
SADFW980980
FWP6H3G5P6H
=MID(A35,FIND("FW",A35)+2,3)
MID函数的第二个第三个参数非常灵活,要取多少个,从哪个开始,结合各种应用的话,就会变得非常强大了。
1.2 文本位置及文本长度: FIND() LEN() LENB()
len和lenb的神奇之处,和前面说的leftb的类似,全角半角的时候,应用它有时候可以神奇地让公式比较短。
举一个很简单的例子:
分离姓名与电话号码
源数据姓名电话号码
佳佳13474858935佳佳13474858935
芳芳18858525858芳芳18858525858
宝宝15358585585宝宝15358585585
贝贝18574745858贝贝18574745858
=LEFT(A66,LENB(A66)-LEN(A66))
=RIGHT(A66,2*LEN(A66)-LENB(A66))
木兰老师讲的例子中有类似的,通过全角半角,判断,分离字符
然后是find,find和search是类似的函数,但是两者还是有些细微的差别
Find函数可以区分英文大小写但是不支持通配符,而Search函数不能区分大小写,但是支持通配符。
源数据姓名电话号码
佳佳13474858935佳佳13474858935
芳芳18858525858芳芳18858525858
宝宝15358585585宝宝15358585585
贝贝18574745858贝贝18574745858
=LEFTB(A78,SEARCHB("?",A78)-1)
通过上面的方法,也可以获得姓名,利用的就是单字节和双字节的分离。
SEARCHB("?",A78)是利用通配符,找着第一个单字节的字的位置,然后就可以离单字节和双字节了
客户名称 客户地址城市名称
A1河南省郑州市中原区郑州市
A2河北省邯郸市邯郸市
A3江苏省苏州市苏州市
A4河南省南阳市南阳市
A5山东省青岛市青岛市
=MID(B70,FIND("省",B70,1)+1,FIND("市",B70,1)-FIND("省",B70,1))
至于find,想不到其它的应用了…………
1.3 文本替换: SUBSTITUTE() REPLACE()
SUBSTITUE是用于把目标文本中指定的字符串替换成新的字符串
REPLACE是用于根据起始位置和文本字符数来替换为指定的新的字符串
关于Replace在书上看到一个不错的应用
源数据句首大写
HOW ARE YOU?How are you?
NICE to Meet You.Nice to meet you.
how do you do?How do you do?
is that yours?Is that yours?
no, it isn'tNo, it isn't
=REPLACE(LOWER(A84),1,1,UPPER(LEFT(A84)))
先将全部转化为小写,再将首字母大写。
substitute的一个应用也不错,很多人在输入信息的时候,可能输入数字都会带单位,但是有了这个函数,单位啥也都是浮云,转转也都能运算了
姓名金额
一100元
二101元
三102元
四103元
五104元
六105元
七106元
八107元
九108元
十109元
十一110元
¥1,155
=SUMPRODUCT(--SUBSTITUTE(B95:B105,"元",))
1.4 文本连接:
这个对我这种经常写重复代码的小孩真的非常有用
举个很简单的例子。
"if(MSG_1 =dwMsg)
{
dw_MsgID |= MS_MSG_1;
}"
以上代码是一段经常出现的代码
我需要写很多这样的重复代码,这时候,有一个列表
MSG_1"if(MSG_1 =dwMsg)
{
dw_MsgID |= MS_MSG_1;
}"
MSG_2"if(MSG_2 =dwMsg)
{
dw_MsgID |= MS_MSG_2;
}"
MSG_3"if(MSG_3 =dwMsg)
{
dw_MsgID |= MS_MSG_3;
}"
MSG_4"if(MSG_4 =dwMsg)
{
dw_MsgID |= MS_MSG_4;
}"
MSG_5"if(MSG_5 =dwMsg)
{
dw_MsgID |= MS_MSG_5;
}"
MSG_6"if(MSG_6 =dwMsg)
{
dw_MsgID |= MS_MSG_6;
}"
MSG_7"if(MSG_7 =dwMsg)
{
dw_MsgID |= MS_MSG_7;
}"
MSG_8"if(MSG_8 =dwMsg)
{
dw_MsgID |= MS_MSG_8;
}"
这样,我就只需要把代码复制过去,就肯定没错了
1.5文本格式化
一个很简单和text格式化的例子
收入文本
123收入123.00元
312321收入312321.00元
624519收入624519.00元
936717收入936717.00元
1248915收入1248915.00元
1561113收入1561113.00元
1873311收入1873311.00元
2185509收入2185509.00元
=TEXT(A129,"收入0.00元")
转换中文小写日期刚看书学的格式代码,秀一下
2012-5-8二○一二
=TEXT(YEAR(A141),"[dbnum1]0")
文本函数真的非常非常强大,但是要说介绍也不知道要说啥,知道大致之后,实际应用的时候,多思考,应该会有很多收获
成果物的话,因为最近突然觉得身份证是个很强大的东东,所以…………
结尾附上链接…………club.excelhome.net