本篇為《excel圖片處理:利用PS做帶照片的動態查詢系統》的下篇。
上篇裡,通過兩個步驟我們準備好了圖片並批量導入了數據源表中。本篇我們就做出查詢表。查詢表的最終效果如下:
第三步:完成動態查詢系統
我們根據上一步驟完成的帶有圖片的數據源,做一個動態查詢檔案,輸入姓名即可查詢到照片、性別、出生日期等。做好了之後是這樣的:
怎麼操作呢?步驟如下:
(1)首先創建以下表格。
(2)在姓名對應的B2單元格輸入「吳磊」。
(3)接下來「性別」「出生年月」等其他信息的獲取,我們根據姓名「吳磊」採用一個公式來完成。在性別對應的B4單元格輸入
=IFERROR(OFFSET(數據源!$A$1,MATCH($B$2,數據源!$A:$A,0)-1,MATCH(查詢!A4,數據源!$1:$1,0)-1),"")
解析:
MATCH(查找內容,查找區域,0):表示查找第一個參數在第二個參數的位置,第三個參數為0代表精確匹配。這裡分別返回的是B2單元格「吳磊」在數據源A列(姓名列)對應的位置6和A4單元格「性別」在數據源第1行(標題行)對應的位置2。
OFFSET(參照位置,偏移的行位置,偏移的列位置):表示以第一個參數為位置參照,偏移到第二參數定義的行數和第三參數定義的列數所在的單元格,返回其值。這裡的含義是以「數據源」表裡的A1單元格為準,向下偏移6-1行向右偏移2-1列,獲取到B5單元格值「男」。
在上述OFFSET函數中,如果B2單元格為空,則返回錯誤信息「N/A」。我們利用IFERR0R函數,當單元格返回錯誤「N/A」則輸出為空值。
因為後續還要查詢「出生年月」「星座」等,所以公式中「查詢!A4」這個是相對引用,其他都採用了絕對引用。
然後把這個公式複製應用到「出生年月」「星座」等對應的單元格裡。注意修改相對引用項。
(4)接下來我們要把圖片動態引用過來。
單擊【公式】選項卡下的名稱管理器旁邊的「定義名稱」。
在在彈出的對話菜單中,【名稱】處輸入「照片」,【引用位置】輸入公式:
=INDEX(數據源!$G:$G,MATCH(查詢!$B$2,數據源!$A:$A,0))
解析:
MATCH:表示查找第一個參數,也就是姓名「吳磊」單元格在第二個參數數據源姓名列的位置,返回6。 INDEX(數據區域,數據位置):表示用第二個參數給出的位置在第一個參數中查找對應的值。 上述公式的意思就是利用INDEX函數返回數據源G列(圖片列)中對應行號(由MATCH函數獲取)位置的圖片。
(5)複製數據源表任意一張照片,粘貼到「查詢」表的D2單元格。單擊該照片,在編輯欄中輸入公式:=照片,點擊Enter。
這樣當B2單元格輸入姓名後點擊確定,對應的照片和其他信息就會一起動態更新了。
注意:使用這種方法時,當姓名為空的時候或者姓名錯誤的時候,仍然會顯示上一次操作之後的照片。
Ok,整個查詢系統就建立好了。簡單回顧一下:利用PS的動作批處理實現圖像不變形下統一大小;利用表格標籤table代碼實現圖像批量插入;利用INDEX函數定義「照片」實現照片的動態查詢。其他信息的動態查詢則是利用OFFSET函數實現的。
****部落窩教育-excel動態查詢系統****
原創:夏雪/部落窩教育(未經同意,請勿轉載)