案例 如下圖所示,下面是會(huì)計(jì)科目表的一個(gè)截取的部分視圖。要求是將左邊的科目表轉(zhuǎn)化成右面的對(duì)應(yīng)的科目表。 從上表中可以看出,左邊的科目表中一級(jí)科目,二級(jí)科目,三級(jí)科目都是有的,并且科目代碼的長(zhǎng)度也有有規(guī)則的,那么轉(zhuǎn)化的時(shí)候二級(jí)科目與三級(jí)科目如何與一級(jí)科目相對(duì)應(yīng),這是解決本題的一個(gè)難點(diǎn)所在。 下面老師給大家介紹兩種方法,一種是分步驟每個(gè)科目各提取一次;另外一種方法是數(shù)組公式,一次性到位。但是對(duì)于一般水平與初級(jí)水平的Excel用戶來(lái)說(shuō),第一種方法更加地適用。 分步函數(shù)法 下面給大家介紹第一種方法的基本的添加輔助列與公式函數(shù)的解決步驟。 Step-01:設(shè)置如下圖所示的一級(jí)科目,二級(jí)科目以及三級(jí)科目的的表頭。 Step-02:觀察上面的科目代碼,一級(jí)科目的代碼長(zhǎng)度為4,二級(jí)科目的代碼長(zhǎng)度為6,三級(jí)科目的代碼長(zhǎng)度為8. 分析:因?yàn)槊總€(gè)二級(jí)科目與三級(jí)科目都對(duì)應(yīng)著一個(gè)一級(jí)科目,難點(diǎn)是要判斷左側(cè)的每個(gè)科目所對(duì)應(yīng)的是一級(jí)科目是什么,所以需要截取代碼的前4位,判斷所屬是那個(gè)一級(jí)科目,然后通過(guò)結(jié)果行與數(shù)據(jù)源行的上下比較去判斷。 在E2單元格中輸入公式: =IF(LEFT(A2,4)=LEFT(A1,4),E1,B2) 按Enter鍵完成后向下填充即可。 注意:這里的LEFT函數(shù)是從左截取指定長(zhǎng)度的字符串函數(shù)。 Step-03:對(duì)于二級(jí)科目來(lái)說(shuō),需要判斷兩個(gè)方面,一個(gè)是代碼長(zhǎng)度是不6位,另一個(gè)是需要判斷本行所對(duì)應(yīng)的是是一級(jí)科目還是二級(jí)科目,如果只有一級(jí)科目,不存在二級(jí)科目,那么要返回空白,如果該一級(jí)科目存在二級(jí)科目,那么需要返回一級(jí)科目對(duì)應(yīng)的二級(jí)科目。 在F2單元格中輸入公式: =IF(LEFT(A2,6)=LEFT(A1,6),F1,IF(LEN(A2)=4,'',B2)) 按Enter鍵完成后向下填充即可。 注意:這里的LEN函數(shù)是計(jì)算指定的字符串的長(zhǎng)度的函數(shù)。 Step-04:一級(jí)科目與二級(jí)科目都判斷出來(lái)了,對(duì)于三級(jí)科目來(lái)說(shuō),就是最簡(jiǎn)單不過(guò)的了,因?yàn)橹挥腥齻€(gè)級(jí)別,所以,只要判斷該行是不是三級(jí)科目,即判斷代碼長(zhǎng)度是不是8位即可。 在G2單元格中輸入公式: =IF(LEN(A2)=8,$B2,'') 按Enter鍵完成后向下填充即可。 數(shù)組公式法 下面再給大家介紹另外一種快速的方法,可以一次性地完成上次的拆分判斷。先設(shè)置如下圖所示的一級(jí)科目,二級(jí)科目以及三級(jí)科目的的表頭。 選中E2:G2單元格,在公式編輯欄中輸入公式: {=IFNA(VLOOKUP(LEFT(A2&' ',{4,6,8}),$A:$B,2,0),'')} 按組合鍵<Ctrl+Shift+Enter>完成后向下填充。 |
|
來(lái)自: 匁匁 > 《19新規(guī)》