1. 什么是BOM?
使用過(guò)ERP的小伙伴們都知道,BOM是ERP系統(tǒng)最重要的基礎(chǔ)資料,是整個(gè)ERP系統(tǒng)有效運(yùn)行的基石。BOM不僅是一種技術(shù)文件,還是一種管理文件,是企業(yè)各部門溝通的紐帶和協(xié)作的基礎(chǔ)。BOM這么重要,那么它到底是什么呢?
BOM-Bill of Material,即物料清單,是以數(shù)據(jù)格式來(lái)描述產(chǎn)品結(jié)構(gòu)的文件,是計(jì)算機(jī)識(shí)別物料結(jié)構(gòu)的基礎(chǔ)。為了提高在ERP系統(tǒng)中構(gòu)建BOM的效率,減少和預(yù)防錯(cuò)誤,我們建議先用萬(wàn)能的Excel把BOM構(gòu)建好,然后再輸入ERP系統(tǒng)。那么具體怎么操作呢?我們一起來(lái)看看吧!

2. 準(zhǔn)備料品檔案
BOM的創(chuàng)建建立在準(zhǔn)確規(guī)范的料品信息的基礎(chǔ)上,故在構(gòu)建BOM之前需要準(zhǔn)備好料品檔案。
對(duì)X成品及其用到的所有料品,根據(jù)既定的編碼規(guī)則進(jìn)行了編碼(即料號(hào))。料號(hào)是料品的唯一識(shí)別碼,一個(gè)料號(hào)只能代表一種料品,一種料品也只能用一個(gè)料號(hào)表示,即料號(hào)與料品之間是一對(duì)一的關(guān)系。料品檔案如圖2所示。

3. 構(gòu)建BOM表
構(gòu)建BOM表的第一步是要明確BOM結(jié)構(gòu)及相應(yīng)料品。X成品的BOM結(jié)構(gòu)如圖3所示。

前面說(shuō)過(guò),ERP系統(tǒng)中的BOM是用數(shù)據(jù)格式描述產(chǎn)品結(jié)構(gòu),故我們需要把上圖轉(zhuǎn)換成表格的形式。在表格中如何分辨BOM結(jié)構(gòu)呢?這點(diǎn)小問(wèn)題肯定難不倒機(jī)智的我!我們可以采用多級(jí)列表符號(hào)!
因料號(hào)是料品的唯一識(shí)別碼,故每個(gè)料品可以直接用其料號(hào)來(lái)表示,初步的BOM結(jié)構(gòu)表如圖4所示。

4. 完善BOM表信息
但上面的BOM表不太直觀,所以接下來(lái)就需要我們進(jìn)一步完善BOM表信息,以增強(qiáng)BOM表的可讀性。
通過(guò)VLOOKUP函數(shù)和MATCH函數(shù)的組合應(yīng)用,可以根據(jù)“料號(hào)”從料品檔案中返回對(duì)應(yīng)的料品信息。例如C2單元格中根據(jù)“料號(hào)”返回“品名”的公式為:
=IFERROR(VLOOKUP($B2,料品檔案!$A:$G,MATCH(C$1,料品檔案!$1:$1,0),0),"")
VLOOKUP函數(shù)用于從料品檔案中返回“料號(hào)”所對(duì)應(yīng)的“品名”。MATCH函數(shù)用于定位“品名”列在料品檔案中的位置。IFERROR函數(shù)是為了防止料品檔案中無(wú)對(duì)應(yīng)料號(hào)時(shí)返回錯(cuò)誤值#N/A,即如果找不到對(duì)應(yīng)料號(hào),則返回空值。如圖5所示。

接著,選中C2:H20區(qū)域,按快捷鍵“CTRL+R”向右填充,再按“CTRL+D”向下填充,則得到了從料品檔案中返回的所有料品信息。對(duì)H列“損耗”設(shè)置百分比樣式。如圖6所示。

BOM還要明確每個(gè)料品的用量和母件底數(shù)。如圖7所示。

5. BOM結(jié)構(gòu)分層
通過(guò)上述操作,我們已經(jīng)基本完善了BOM表中的信息,現(xiàn)在需要對(duì)BOM表進(jìn)行分層處理。在BOM中,成品是0層,成品的下一階子件是1層,成品下一階子件的下一階子件是2層,依次類推。在BOM表的B列處,插入一列名為“層”。根據(jù)BOM結(jié)構(gòu)可以確定料品所在的層數(shù),在B2單元格輸入公式如下:
=IF(ROW()-ROW(B$1)=1,0,LEN($A2)-LEN(SUBSTITUTE($A2,".",))+1)
成品位于第二行,屬于0層。使用ROW函數(shù)確定成品的位置。除了0層外,上述公式根據(jù)結(jié)構(gòu)中的點(diǎn)數(shù)量確定層數(shù)。公式LEN($A2)-LEN(SUBSTITUTE($A2,".",))先用SUBSTITUTE函數(shù)將結(jié)構(gòu)中的點(diǎn)替換成空值,然后計(jì)算結(jié)構(gòu)中的點(diǎn)數(shù)量,層數(shù)比點(diǎn)數(shù)量大1。如圖8所示。

選中B2:B20區(qū)域,按CTRL+D向下填充,則得到圖9的BOM結(jié)構(gòu)分層結(jié)果。

6. BOM結(jié)構(gòu)的分級(jí)顯示
盡管設(shè)置了結(jié)構(gòu)和分層,但是感覺(jué)BOM結(jié)構(gòu)還不是很直觀。下面我們通過(guò)分級(jí)顯示,更直觀地展示BOM結(jié)構(gòu)。步驟如下:
1) 因?yàn)锽OM是從上往下逐層分解的,故先點(diǎn)擊“數(shù)據(jù)”菜單“分級(jí)顯示”選項(xiàng)卡右下角的箭頭,設(shè)置分級(jí)顯示的方向。如圖10。

2) 在彈出的“設(shè)置”窗口中,取消“明細(xì)數(shù)據(jù)的下方”前的勾并確定。如圖11。

3) 選擇3-20行,點(diǎn)擊“分級(jí)顯示”選項(xiàng)卡中的“組合”,或者直接按快捷鍵“Alt+Shift+→”。
4) 按同樣方法分別對(duì)4-15行、18-20行、5-6行、8-12行、14-15行、11-12行進(jìn)行組合操作。設(shè)置好的結(jié)構(gòu)分級(jí)如圖12所示。

5) 我們可以點(diǎn)擊左上角的層級(jí)數(shù)來(lái)顯示或隱藏相應(yīng)的層級(jí)。如點(diǎn)擊數(shù)字2,則只顯示前2層,即0、1層。點(diǎn)擊數(shù)字5,則顯示所有層。如圖13所示。

6) 另外,還可以點(diǎn)擊左邊的“-”、“+”符號(hào)分別折疊、展開相應(yīng)的層級(jí)(先點(diǎn)擊“-”符號(hào)折疊之后才會(huì)顯示“+”符號(hào))。
7. 對(duì)層設(shè)置條件格式
設(shè)置了分級(jí)顯示,是否還可以進(jìn)一步優(yōu)化BOM的效果呢?答案是肯定的。為了增強(qiáng)可視化效果,還可以對(duì)各層設(shè)置條件格式。步驟如下:
1) 選中A2:K20區(qū)域,點(diǎn)擊“開始”菜單“樣式”選項(xiàng)卡中的“條件格式”,選擇“新建規(guī)則”。如圖14所示。

2) 在彈出的“新建格式規(guī)則”對(duì)話框中,選擇“使用公式確定要設(shè)置格式的單元格”,設(shè)置公式如圖15所示。

3) 點(diǎn)擊“格式”,彈出“設(shè)置單元格格式”對(duì)話框,在“填充”選項(xiàng)卡下選擇自己喜歡的顏色并確定。如圖16所示。

4) 這樣,第1層結(jié)構(gòu)的條件格式就設(shè)置好了。效果如圖17所示。

5) 按照同樣的方法分別對(duì)第2、3、4層設(shè)置條件格式(如圖18)。

6) 確定之后,效果如圖19所示。

7) 結(jié)合分級(jí)顯示,如點(diǎn)擊左上角的3,顯示前三層(即0、1、2層)如圖20所示。是不是更直觀了呢?

至此,一個(gè)可視化效果超級(jí)棒的BOM構(gòu)建完畢。有沒(méi)有覺(jué)得眼前一亮呢?
8. 總結(jié)
總結(jié)一下在BOM的構(gòu)建過(guò)程中用到的函數(shù):
1) VLOOKUP函數(shù)
2) MATCH函數(shù)
3) IFERROR函數(shù)
4) IF函數(shù)
5) ROW函數(shù)
6) LEN函數(shù)
7) SUBSTITUTE函數(shù)
此外,我們還用到了分級(jí)顯示和基于公式的條件格式。雖然整個(gè)過(guò)程較為復(fù)雜,但是只要多練習(xí),這些Excel技能也是不難掌握的。用好Excel,你會(huì)事半功倍!