阅读文章(首页/办公软件/Excel教程/)

Excel应用技巧之杂锦

[日期:2007-08-31] 来源:  作者: [字体: ]

  



4、 公式写法及解释(以员工Andy为例说明)

说明:为避免公式中过多的嵌套,这里的身份证号码限定为15位的。如果您看懂了公式的话,可以进行简单的修改即可适用于18位的身份证号码,甚至可适用于15、18两者并存的情况。

(1)根据身份证号码求性别

=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),"女","男")

公式解释:a. RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表数字的字符串

b. VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字

c. VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判断这个身份证号码是奇数还是偶数,当然你也可以用Mod函数来做出判断。

d. =IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),"女","男")及如果上述公式判断出这个号码是偶数时,显示"女",否则,这个号码是奇数的话,则返回"男"。



(2)根据身份证号码求出生日期

=CONCATENATE("19",MID(E4,7,2),"/",MID(E4,9,2),"/",MID(E4,11,2))

公式解释:a. MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串

b. MID(E4,9,2) 为在身份证号码中获取表示月份的数字的字符串

c. MID(E4,11,2) 为在身份证号码中获取表示日期的数字的字符串

d. CONCATENATE("19",MID(E4,7,2),"/",MID(E4,9,2),"/",MID(E4,11,2))目的就是将多个字符串合并在一起显示。

(3)根据参加工作时间求年资(即工龄)

=CONCATENATE(DATEDIF(F4,TODAY(),"y"),"年",DATEDIF(F4,TODAY(),"ym"),"个月")

公式解释:

a. TODAY()用于求出系统当前的时间

b. DATEDIF(F4,TODAY(),"y")用于计算当前系统时间与参加工作时间相差的年份

c. DATEDIF(F4,TODAY(),"ym")用于计算当前系统时间与参加工作时间相差的月份,忽略日期中的日和年。

d. =CONCATENATE(DATEDIF(F4,TODAY(),"y"),"年",DATEDIF(F4,TODAY(),"ym"),"个月")目的就是将多个字符串合并在一起显示。

5. 其他说明

在这张人事资料表中我们还发现,创建日期:31-05-2001时显示在同一个单元格中的。这是如何实现的呢?难道是手工添加的吗?不是,实际上这个日期还是变化的,它显示的是系统当前时间。这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yyyy"的格式表示。

具体公式写法为:="创建日期:"&TEXT(TODAY(),"dd-mm-yyyy")

至此,我们对于文本函数、日期与时间函数已经有了大致的了解,同时也设想了一些应用领域。相信随着大家在这方面的不断研究,会有更广泛的应用。

附一:文本函数

函数名 函数说明 语法 
ASC 将字符串中的全角(双字节)英文字母更改为半角(单字节)字符。 ASC(text) 
CHAR 返回对应于数字代码的字符,函数 CHAR 可将其他类型计算机文件中的代码转换为字符。 CHAR(number) 
CLEAN 删除文本中不能打印的字符。对从其他应用程序中输入的字符串使用 CLEAN 函数,将删除其中含有的当前操作系统无法打印的字符。例如,可以删除通常出现在数据文件头部或尾部、无法打印的低级计算机代码。 CLEAN(text) 
CODE 返回文字串中第一个字符的数字代码。返回的代码对应于计算机当前使用的字符集。 CODE(text) 
CONCATENATE 将若干文字串合并到一个文字串中。 CONCATENATE (text1,text2,...) 
DOLLAR 依照货币格式将小数四舍五入到指定的位数并转换成文字。 DOLLAR 或 RMB(number,decimals) 
EXACT 该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文字。 EXACT(text1,text2) 
FIND FIND 用于查找其他文本串 (within_text) 内的文本串 (find_text),并从 within_text 的首字符开始返回 find_text 的起始位置编号。 FIND(find_text,within_text,start_num) 
FIXED 按指定的小数位数进行四舍五入,利用句点和逗号,以小数格式对该数设置格式,并以文字串形式返回结果。 FIXED(number,decimals,no_commas) 
JIS 将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符。 JIS(text) 
LEFT LEFT 基于所指定的字符数返回文本串中的第一个或前几个字符。
LEFTB 基于所指定的字节数返回文本串中的第一个或前几个字符。此函数用于双字节字符。 LEFT(text,num_chars)
LEFTB(text,num_bytes) 
LEN LEN 返回文本串中的字符数。
LENB 返回文本串中用于代表字符的字节数。此函数用于双字节字符。 LEN(text)
LENB(text) 
LOWER 将一个文字串中的所有大写字母转换为小写字母。 LOWER(text) 
MID MID 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。
MIDB 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。此函数用于双字节字符。 MID(text,start_num,num_chars)
MIDB(text,start_num,num_bytes) 
PHONETIC 提取文本串中的拼音 (furigana) 字符。 PHONETIC(reference) 
PROPER 将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。 PROPER(text) 
REPLACE REPLACE 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本。
REPLACEB 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本。此函数专为双字节字符使用。 REPLACE(old_text,start_num,num_chars,new_text)
REPLACEB(old_text,start_num,num_bytes,new_text) 
REPT 按照给定的次数重复显示文本。可以通过函数 REPT 来不断地重复显示某一文字串,对单元格进行填充。 REPT(text,number_times) 
RIGHT RIGHT 根据所指定的字符数返回文本串中最后一个或多个字符。
RIGHTB 根据所指定的字符数返回文本串中最后一个或多个字符。此函数用于双字节字符。 RIGHT(text,num_chars)
RIGHTB(text,num_bytes) 
SEARCH SEARCH 返回从 start_num 开始首次找到特定字符或文本串的位置上特定字符的编号。使用 SEARCH 可确定字符或文本串在其他文本串中的位置,这样就可使用 MID 或 REPLACE 函数更改文本。
SEARCHB 也可在其他文本串 (within_text) 中查找文本串 (find_text),并返回 find_text 的起始位置编号。此结果是基于每个字符所使用的字节数,并从 start_num 开始的。此函数用于双字节字符。此外,也可使用 FINDB 在其他文本串中查找文本串。 SEARCH(find_text,within_text,start_num)
SEARCHB(find_text,within_text,start_num) 
SUBSTITUTE 在文字串中用 new_text 替代 old_text。如果需要在某一文字串中替换指定的文本,请使用函数 SUBSTITUTE;如果需要在某一文字串中替换指定位置处的任意文本,请使用函数 REPLACE。 SUBSTITUTE(text,old_text,new_text,instance_num) 
T 将数值转换成文本。 T(value) 
TEXT 将一数值转换为按指定数字格式表示的文本。 TEXT(value,format_text) 
TRIM 除了单词之间的单个空格外,清除文本中所有的空格。在从其他应用程序中获取带有不规则空格的文本时,可以使用函数 TRIM。 TRIM(text) 
UPPER 将文本转换成大写形式。 UPPER(text) 
VALUE 将代表数字的文字串转换成数字。 VALUE(text) 
WIDECHAR 将单字节字符转换为双字节字符。 WIDECHAR(text) 
YEN 使用 ¥(日圆)货币格式将数字转换成文本,并对指定位置后的数字四舍五入。 YEN(number,decimals) 



上一页 [1] [2] [3] [4] 下一页   
阅读:
录入:blue1000

评论 】 【 推荐 】 【 打印
上一篇:用条件格式让行列更清晰
下一篇:EXCEL中数组函数运用范例
相关文章      
本文评论
  good   (xiaomi ,2008-08-24 )
  在excel中,怎样自动识别已定义的物料编码?有哪位高手能指导一下,特急,谢谢   (小青 ,2008-07-24 )
  hh   (yy ,2008-07-23 )
  马马马虎虎   (开降 ,2008-06-29 )
  xiexie   (kaikai ,2008-06-04 )
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款