最近剛好有製作收據格式的需求,實際以Excel利用函數試了一下。
資料清單記在名稱為data分頁中:
假設目前資料分布如圖。由於期望輸入姓名後可自動抓取其相關欄位,因此搜尋內容包括A~D欄位。
A欄位最左,姓名欄此時為搜尋欄,是第1欄,B欄位為第2欄,C欄位為第3欄,D欄位為第4欄‧‧‧類推,均以最左欄搜尋欄開始。
回到欲顯示與呈現的分頁,B1用以輸入姓名,若輸入「張三」,即B1輸入搜尋內容「張三」時,要自動抓取張三的電話、住址和金額,使用VLOOKUP函數。
VLOOKUP函數引數有四,分別是:
Lookup_value 打算在表格最左欄搜尋的值,可是數值、參照位址或文字串等。
Table_array 要在其中搜尋資料的文字、數字、邏輯值的表格,可為範圍參照位址或名稱。
Col_index_num 數值。代表要傳回的值位在Table_array中的第幾欄。
Range_Lookup 邏輯值。True或省略表示找出第一欄中最接近的值;False表示僅尋找完全符合的數值。可以1或0輸入。
所以B2要顯示其電話,電話內容在data分頁、搜尋資料Table_array中的第2欄,fx
=VLOOKUP(B1,data!A:D,2,0)
B3要顯示其住址,住址內容在搜尋資料Table_array中的第3欄,fx
=VLOOKUP(B1,data!A:D,3,0)
B4要顯示其金額,金額內容在搜尋資料Table_array中的第4欄,fx
=VLOOKUP(B1,data!A:D,4,0)
設定完成後,當B1輸入「李四」時,便會於Table_array搜尋資料「李四」,並依函數引數回傳Col_index_num第幾欄位之資料。
顯示已經都回傳為李四的資料囉!