前言EXCEL主要是用来处理数据、分析数据的,在设计报表时就要按照数据库的思路,提前想好如何填写原始信息。而偏偏有人按照WORD的思路来,如下图所示,当需要处理数据时,只能在一个个手动分开,这种情况你有没有? 那么有没有公式将种类、数量、单位分开? 办法总是有的,但以后还这么做就是你的不对了。 1第一步:先取数量,这个公式是重点在C2中输入公式 =LOOKUP(9E+307,--MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1)),ROW($1:$15))) 下拉完成。 解释: FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1):在A2中依次查找0-9所在的位置,为了防止查找不到出现错误,在A2后面连接1/17,1/17是一个小数,这个小数包含了0到9所有的数字。 MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1)):取FIND函数返回数字的最小值,即数字第一次出现的位置 MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1)),ROW($1:$15)):从第一次出现数字的位置,分别取1-15位。 --MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1)),ROW($1:$15)):将数字文本变成数值 LOOKUP(9E+307,--MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1/17,1)),ROW($1:$15))):取最大值 2第二步,取种类在B2中输入公式 =LEFT(A2,FIND(C2,A2)-1) 下拉完成 解释: FIND(C2,A2):取数量C2在A2中的位置 FIND(C2,A2)-1:取数字前的字符的长度 LEFT(A2,FIND(C2,A2)-1):根据长度,从左边取种类 3第三步,取单位在D2中输入公式 =RIGHT(A2,LEN(A2)-FIND(C2,A2)-LEN(C2)+1) 下拉公式即可 解释: LEN(A2)-FIND(C2,A2)-LEN(C2)+1:文本字符的总长度-数字出现的位置-数字的长度+1,得到单位字符的长度。 RIGHT(A2,LEN(A2)-FIND(C2,A2)-LEN(C2)+1):根据单位的长度,从右边取单位。 总结第二步和第三步没有先后关系! 规范表格,提高工作效率! 没事多研究,有事咱不怕! END
|
|