轉自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(字符,提取幾位)
編碼的問題,大多數都要尋找規律,數學思維好,占了極大的優勢。
,