邵洪成
摘 要: Excel是目前計算機中最常用的電子表格軟件,公式與函數是Excel中最精彩的部分,使用函數大大簡化了操作步驟。本文介紹了Excel中查找函數的使用技巧。
關鍵詞: Excel 函數 LOOKUP VLOOKUP HLOOKUP
隨著計算機的普及,越來越多的人使用計算機來工作、學習、娛樂等。目前計算機中最常用的電子表格軟件是Excel,它提供了功能強大的函數,用來實現相應的功能。Excel提供了財務函數、日期與時間函數、數學與三角函數、統(tǒng)計函數、查找與引用函數、數據庫函數、文本函數、邏輯函數、信息函數等,其中查找函數有LOOKUP、VLOOKUP和HLOOKUP。本文主要簡介這三個函數的使用技巧。
1.LOOKUP函數
LOOKUP函數的功能是返回向量(單行區(qū)域或單列區(qū)域)或數組(用于建立可生成多個結果或可對在行和列中排列的一組參數進行運算的單個公式;數組區(qū)域共用一個公式,數組常量是用作參數的一組常量)中的數值。函數LOOKUP有兩種語法形式:向量形式和數組形式。函數LOOKUP的向量形式是在單行區(qū)域或單列區(qū)域(向量)中查找數值,然后返回第二個單行區(qū)域或單列區(qū)域中相同位置的數值;函數LOOKUP的數組形式在數組的第一行或第一列查找指定的數值,然后返回數組的最后一行或最后一列中相同位置的數值。
1.1函數LOOKUP的向量形式
格式:LOOKUP(lookup_value,lookup_vector,result_vector)
說明:參數Lookup_value為函數LOOKUP在第一個向量中所要查找的數值,Lookup_value可以為數字、文本、邏輯值或包含數值的名稱或引用;參數Lookup_vector為只包含一行或一列的區(qū)域,Lookup_vector的數值可以為文本、數字或邏輯值,并且Lookup_vector的數值必須按升序排序,文本不區(qū)分大小寫;Result_vector只包含一行或一列的區(qū)域,其大小必須與lookup_vector相同。
如果函數LOOKUP找不到lookup_value,則查找lookup_vector中小于或等于lookup_value的最大數值。
如果lookup_value小于lookup_vector中的最小值,則函數LOOKUP返回錯誤值#N/A。
例如:學生成績表如表1.1所示,公式與結果如表1.2所示。
表1.1 學生成績表
表1.2 公式與結果
1.2函數LOOKUP的數組形式
格式:LOOKUP(lookup_value,array)
說明:Lookup_value為函數LOOKUP在數組中所要查找的數值,Lookup_value可以為數字、文本、邏輯值或包含數值的名稱或引用;array為數組,它的值用于與lookup_value進行比較,數組中的數值必須按升序排序,文本不區(qū)分大小寫。
如果函數LOOKUP找不到lookup_value,則使用數組中小于或等于lookup_value的最大數值。
如果lookup_value小于第一行或第一列(取決于數組的維數)的最小值,則函數LOOKUP返回錯誤值#N/A。
如果數組所包含的區(qū)域寬度大高度小(即列數多于行數),則函數LOOKUP在第一行查找lookup_value。
如果數組為正方形,或者所包含的區(qū)域高度大寬度?。葱袛刀嘤诹袛担?,則函數LOOKUP在第一列查找lookup_value。
例如:公式與結果如表1.3所示。
表1.3 公式與結果
2.VLOOKUP函數
VLOOKUP的功能是在表格或數值數組的首列查找指定的數值,并由此返回表格或數組當前行中指定列處的數值,在VLOOKUP中的“V”代表列。
格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
說明:Lookup_value為需要在數據表第一列中進行查找的數值,Lookup_value可以為數值、引用或文本字符串;Table_array為需要在其中查找數據的數據表,可以使用對區(qū)域或區(qū)域名稱的引用,如果range_lookup為TRUE,則table_array的第一列中的數值必須按升序排列,如果range_lookup為FALSE,table_array不必進行排序,Table_array的第一列中的數值可以為文本、數字或邏輯值,文本不區(qū)分大小寫;col_index_num為table_array中待返回的匹配值的列序號,col_index_num為1時,返回table_array第一列中的數值;col_index_num為2,返回table_array第二列中的數值,以此類推,如果col_index_num小于1,函數VLOOKUP返回錯誤值#VALUE!,如果col_index_num大于table_array的列數,函數VLOOKUP返回錯誤值#REF!;Range_lookup為一邏輯值,指明函數VLOOKUP返回時是精確匹配還是近似匹配,如果為TRUE或省略,則返回近似匹配值,即如果找不到精確匹配值,則返回小于lookup_value的最大數值;如果range_value為FALSE,函數VLOOKUP將返回精確匹配值,如果找不到,則返回錯誤值#N/A。
例如:“素材”工作表中存放某公司職工的基本信息情況,如表2.1所示,請在“答題”工作表中制作如圖2.1所示的職工簡歷,并根據“素材”工作表中的職工數據,在“答題”工作表已制作好的職工簡歷中,通過在“姓名”單元格輸入“黃海濤”,其他空單元格位置內容利用函數從“素材”職工表中搜索到“黃海濤”的信息,并自動生成如圖2.2所示的結果,注意:圖2.2中天藍色背景區(qū)域的內容除“黃海濤”外,其他信息是將“素材”工作表中黃海濤的信息調入到相應的位置。
表2.1 職工基本情況登記表
圖2.1 職工簡歷
圖2.2 黃海濤的職工簡歷
操作步驟如下:
1.在“答題”工作表中制作如圖2.1所示的職工簡歷,并設置相應格式;
2.在“姓名”后的單元格B2中輸入:黃海濤;
3.在“性別”后的單元格D2中輸入公式:=VLOOKUP($B$2,素材!$A$2:$K$6,2,FALSE),得到函數值“男”,如圖2.3所示;
圖2.3 VLOOKUP函數界面
4.在“民族”后的單元格F2中輸入公式:=VLOOKUP($B$2,素材!$A$2:$K$6,3,FALSE),或將單元格D2中的公式復制粘貼到單元格F2中,然后將第三個參數2改為3,得到函數值“回”;
5.重復第4步,得到相應的籍貫、出生日期、參加工作時間、職稱、現任職務、學歷、畢業(yè)學校及專業(yè)、工作簡歷。
注意:出生日期與參加工作時間要設置相應的日期格式,工作簡歷要設置單元格的自動換行,如圖2.4所示,最終結果如圖2.2所示。
圖2.4 “單元格格式”對話框
如果在“姓名”后的單元格B2中輸入:王愛群,則結果如圖2.5所示。
圖2.5 王愛群的職工簡歷
3.HLOOKUP函數
HLOOKUP的功能是在表格或數值數組的首行查找指定的數值,并由此返回表格或數組當前列中指定行處的數值,在HLOOKUP中的H代表“行”。
格式:HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
說明:Lookup_value為需要在數據表第一行中進行查找的數值,Lookup_value可以為數值、引用或文本字符串;Table_array為需要在其中查找數據的數據表,可以使用對區(qū)域或區(qū)域名稱的引用,如果range_lookup為TRUE,則table_array的第一行中的數值必須按升序排列;如果range_lookup為FALSE,則table_array不必進行排序,Table_array的第一行中的數值可以為文本、數字或邏輯值,文本不區(qū)分大小寫;Row_index_num為table_array中待返回的匹配值的行序號,Row_index_num為1時,返回table_array第一行中的數值,row_index_num為2時,返回table_array第二行中的數值,以此類推,如果row_index_num小于1,函數HLOOKUP返回錯誤值#VALUE!,如果row_index_num大于table-array的行數,函數HLOOKUP返回錯誤值#REF?。籖ange_lookup為一邏輯值,指明函數HLOOKUP返回時是精確匹配還是近似匹配,如果為TRUE或省略,則返回近似匹配值,即如果找不到精確匹配值,則返回小于lookup_value的最大數值;如果range_value為FALSE,函數VLOOKUP將返回精確匹配值,如果找不到,則返回錯誤值#N/A。
注意:HLOOKUP函數與VLOOKUP函數使用方法相同,不同的是HLOOKUP返回的是相應行的值,VLOOKUP返回的是相應列的值。讀者可以將表2.1進行轉置,然后使用HLOOKUP函數制作圖2.2所示職工簡歷。
筆者經常用上述三個查找函數實現相應的查找與引用功能,使用方便,讀者不妨一試。
參考文獻:
[1]周賀來.Excel數據處理[M].北京:中國水利水電出版社,2011.
[2]Bill Jelen.Excel2007應用大全[M].北京:人民郵電出版社,2008.3.
[3]華師傅資訊.Excel電子表格輕松掌握[M].北京:中國鐵道出版社,2007.10.
[4]吳愛妤.Excel2007高效辦公800招[M].北京:機械工業(yè)出版社,2009.1.