王碩



摘 ? 要:文章通過介紹VLOOKUP函數的語法規則,并結合具體的應用實例,對VLOOKUP函數在圖書發行中的數據批量查詢功能進行詳細講解。熟練掌握VLOOKUP函數,可以幫助圖書發行人員提高工作效率和確保數據的可靠性。
關鍵詞:VLOOKUP函數;數據處理;批量查詢;圖書發行
1 ? ?VLOOKUP函數的優勢
圖書發行員,在日常發行工作中,數據查詢是經常會遇到的工作內容。比如,在對賬、統計庫存、制作銷售報表、做圖書重印數據和書圖目錄等工作中,都會涉及數據查詢。在這些工作中,數據量通常都較大,如果通過Excel中常用的“查找”(Ctrl+F)來進行,不僅效率低下、耗時耗力,而且準確性也不高[1]。
如果能夠進行批量查詢(又稱“數據匹配”),則可以解決問題。在Excel中,VLOOKUP函數是進行數據批量查詢的重要函數。熟練掌握VLOOKUP函數,既可以幫助圖書發行員快速查詢所需要的大量數據,提高圖書發行員的工作效率,也可以極大提高數據的完整性與可靠性。
2 ? ?VLOOKUP函數功能簡介
VLOOKUP函數是Excel中的縱向查詢函數,英文為vertical lookup(垂直查詢),所以VLOOKUP的含義是在垂直方向(列)上進行查詢。VLOOKUP函數的工作原理是以Excel中的某一列為查詢對象,在特定的查詢區域內去查詢該列所對應的某一列值(又稱“返回值”),如圖書的定價、作者、出版日期、發貨實洋、發貨折扣、銷售數量等信息或數據。
VLOOKUP函數的語法表達式為:
=VLOOKUP(Lookup_value,Table_array,Col_index_num,Range_lookup)
如果用通俗的語言來解釋,可以理解語法表達式為:
=VLOOKUP(查詢對象,查詢區域,查詢區域中包含返回值的列的列序號,查尋方式)
VLOOKUP函數各個參數的意義:(1)Lookup_value,表示要查找的數值,即查詢對象,一般情況下指的是Excel中的某一列。(2)Table_array,表示查詢對象所在的數據表范圍,即查詢區域。在實際應用中,有兩點需要注意:第一,為了區分查詢對象與查詢區域所在的表,通常將此二張表分別放在Excel的不同Sheet中(注:放在同一個Sheet中也可以,但是不推薦使用,容易混淆)。第二,一個查詢區域應至少包含兩列,包含查詢對象的列應位于包含返回值的列之前,假設包含查詢對象的列是查詢區域中的第1列,則可以用第2列、第3列或者更靠后的列來存放返回值(VLOOKUP函數只能檢索出位于包含查詢對象的列右側的數據,是其局限之一)。(3)Col_index_num,表示查詢對象在查詢區域中的列序號,若該參數值為1,則返回查詢區域第1列的值;參數值為2,則返回查詢區域第2列的值,依此類推。一般情況下,由于第1列被用來作為包含查詢對象的列,故該值通常大于等于2。(4)Range_lookup,是一個邏輯值,可以是“0”或者“1”。“0”表示查詢方式為精確查詢,如果找不到就會返回錯誤值“#N/A”;“1”表示模糊查詢,先進行精確查詢,如果找不到精確匹配的值,則返回近似值,如果再找不到,也會返回錯誤值“#N/A”。在實際操作中,通常將此參數填“0”,即使用精確查詢的方式進行查詢[2]。
3 ? ?VLOOKUP函數應用實例
以圖書發行員對賬工作內容為例,探討VLOOKUP函數的具體應用(因本文主要是為了說明函數的使用,故數據做了簡化處理)。
首先,某圖書發行員收到經銷商發來的對賬單,包含“批銷單號”和“收貨實洋”兩列數據,如圖1所示,將此表命名為“經銷商對賬單”。現在該圖書發行員要核對經銷商所提供的每一個批銷單的收貨實洋與本社的發貨實洋是否一致。“經銷商對賬單”中的第1列(A列),即“批銷單號”,是本例的查詢對象。
其次,該發行員將本社ERP系統中的發貨清單導出放入一個新建的Sheet,并將其命名為“我社發貨數據”,該表即為查詢區域。“我社發貨數據”包含了兩列數據,第1列(A列)為“單據編號”,第2列(B列)為“發貨實洋”。此時,該表中的第1列為包含查詢對象的列,即“單據編號”列是與“經銷商對賬單”的“批銷單號”列相對應,第2列是包含返回值的列,本例中的返回值指的就是該發行員本社的發貨實洋。
再次,在“經銷商對賬單”中,新增一列(列C)并將其命名為“我社實洋”(C1),為將要用VLOOKUP函數進行操作的列。在C2單元格中,輸入“=VLOOKUP”后,按回車鍵,即可彈出VLOOKUP函數的操作框。函數的參數設置情況,如圖3所示。
Lookup_value:A:A(含義:查詢對象為A列)
Table_array:我社發貨數據!A:B(含義:查詢區域為“我社發貨數據”Sheet中的A列和B列)
Col_index_num:2(含義:返回值位于查詢區域中的第2列,即返回“發貨實洋”列的值,亦即B列為返回值)
Range_lookup:0(含義:精確查詢)
在函數參數設置完成之后,發現C2單元格中的函數表達式自動變為:
=VLOOKUP(A:A,我社發貨數據!A:B,2,0)
點擊函數操作框下方的“確定”按鈕,在C2單元格中返回了通過VLOOKUP函數查詢出的計算結果,即“我社實洋”為793.98,如圖4所示。
將鼠標移動至C2單元格右下角,當鼠標由空心十字變成實心十字形狀時,將鼠標下拉至C9單元格,可以將函數由C2單元格復制至C9單元格。于是,得到“經銷商對賬單”中每一個批銷單號對應的“我社實洋”,如圖5所示。
除了C5單元格中返回了“#N/A”之外,C2至C9單元格都返回了具體的數值。C5單元格中返回的是“#N/A”錯誤值,表明在查詢區域(表“我社發貨數據”)的“單據編號”一列中,沒有查詢到“PXD1555”單號。即在雙方的發貨往來中,經銷商的對賬單顯示其收到了“PXD1555”這票貨,但是出版社方面并未發出過此單號的貨。因此,在對賬時,圖書發行員應與經銷商進行特別的溝通,從而進一步找出問題出現的具體原因。
為了進一步確認對賬結果是否準確,首先,可以在“經銷商對賬單”中再增加一個輔助列,用以核對雙方對賬結果是否一致。其次,可將D列命名為“對賬差異”(D1),并在D2單元格中輸入“=B2-C2”,若函數計算結果為“0”,則表明無差異;若函數計算結果不為“0”,則表示有差異,需要進一步核查。最后,將公式由D2單元格復制至D9單元格,可以得出具體的對賬差異情況,如圖6所示。
如本文所述,D5中的“#N/A”是由于VLOOKUP函數匹配不出所致。而D9單元格中的“-50.7”則表示雖然能匹配到“PXD3636”批銷單號的發貨實洋,但是出版社的發貨實洋與經銷商的收貨實洋不一致,故需要對票貨進行特別溝通[3]。
4 ? ?結語
本文以圖書發行員的對賬工作為例,講解了VLOOKUP函數在圖書發行工作中的具體應用。對于VLOOKUP函數,還有以下幾點需要注意,限于篇幅,本文不作展開講解。
(1)為避免匹配結果顯示為“#N/A”,可以通過嵌套IFERROR函數將“#N/A”顯示成想要顯示的文字內容。例如,在本例中,可以將函數改寫成:
=IFERROR(VLOOKUP(A:A,我社發貨數據!A:B,2,0),“未匹配”)
(2)查詢區域中包含查詢對象的列,其數據格式一定要與查詢對象的數據格式一致,否則無法得到正確的查詢結果。在圖書發行工作中,關于書號、身份證號等比較長的數字,尤其需要注意。
[參考文獻]
[1]佚名.4G元年在線教育迎來爆發期[J].中小學信息技術教育,2014(1):5.
[2]李家樂.淺談人工智能與電子信息技術在教育中的應用[J].教育現代化,2019(38):243-244.
[3]蘭國帥,郭倩,魏家財,等.5G+智能技術:構筑“智能+”時代的智能教育新生態系統[J].遠程教育雜志,2019(3):3-16.
Abstract:By introducing the syntax rules of VLOOKUP function and combining with a concrete application example, this paper explains in detail the data batch query function of VLOOKUP function in book distribution. Proficient in VLOOKUP function can help book publishers improve work efficiency and ensure the reliability of data.
Key words:VLOOKUP function; data processing; batch query; book distribution