转自EXCEL不加班
如何根据科目编码获得编码级次、上级科目的科目编码?
1.编码级次
4位为1级,6位为2级,8位为3级,依次类推。计算编码有多少位数可以用LEN函数。
如果编码的位数比较少,直接用IF函数或者VLOOKUP函数都行。
=IF(LEN(A2)=4,1,IF(LEN(A2)=6,2,3))
=LOOKUP(LEN(A2),{4,1;6,2;8,3})
不过这个表格的编码,可以是很多级次。直接用上面的方法需要罗列很多种情况,不太方便。
如果有数学的思维,其实很容易发现规律。
(4-2)/2=1
(6-2)/2=2
(8-2)/2=3
……
也就是说:
(编码长度-2)/2=编码级次
=(LEN(A2)-2)/2
2.上级科目的科目编码
3级的上1级就是2级,2级的上1级就是1级,1级的上1级就是空。
3级的编码-2位=2级
2级的编码-2位=1级
1级=4位
=IF(LEN(A2)=4,"","SXM--"&LEFT(A2,LEN(A2)-2))
SXM--"&就是在编码前面连接一个固定的字符。
LEFT函数就是从左边提取字符,语法:
=LEFT(字符,提取几位)
编码的问题,大多数都要寻找规律,数学思维好,占了极大的优势。
,