用函数快速归类姓名编码
在第15期的《电脑报》“数字办公”版中,《快速制作报名姓名编码表》一文介绍了怎样在填写报名信息卡的时候将汉字转换成区位码的4位数字。对于文中的报名表格,在“姓名”列下面已经输入了学生姓名的情况下,可以直接通过使用Excel 2007提供的内部函数得到汉字的区位码,而不必对输入法进行设置和重新输入姓名中已有的汉字。
在Excel 2007中,CHAR函数和CODE函数的功能是相对应的,前者返回对应于数字代码的字符,后者则返回文字串中第一个字符的数字代码。譬如CHAR(65)等于“A”,CODE(“A”)等于65。对于汉字而言,以“啊”为例,则有CHAR(45217)等于“啊”,CODE(“啊”)等于45217。45217其实对应的是“啊”的内码,该内码可以根据汉字的区位码通过公式计算而得到。反之,知道了汉字的内码,也可以计算得到汉字的区位码。还是以“啊”为例,该汉字的区号的计算公式为INT(CODE(“啊”)/256)-160,位号的计算公式为MOD(CODE(“啊”),256)-160。
对于文中的报名表格,可以在“编码一”列下的B4单元格输入公式“=MID(A4,1,1)&(INT(CODE(MID(A4,1,1))/256)-160)*100+(MOD(CODE(MID(A4,1,1)),256)-160)”,并将该公式复制到同一列的其他单元格,在得到姓名中的第一个汉字的同时也得到了该汉字的区位码。其他两列进行类似处理即可,效果如图所示。