在Excel中動態查圖片,這個技巧其實應用很廣泛,比如:人力資源部可以根據員工編號,查找員工照片;生產部門可以根據工單,查找工序加工圖片;圖書管理員根據借書證編號,查找對應的會員照片等等。
下面的圖片演示,當選擇了不同的姓名時,會顯示出該人員對應的分數,以及人員對應的照片:
下面,我們就一步一步地,一起來製作這個簡單的照片查找效果。
準備查詢源數據
在A:B列輸入查詢源數據,C列的照片是通過插入圖片的方式,一張一張插入的,並調整好每張圖片的位置和尺寸,以和單元格對齊;
——逐個圖片地調整尺寸,確實是個功夫活兒,在我的微課中,給大家介紹過一段快速批量調整圖片尺寸的VBA代碼,有需要的同學可以留言索取哦——
製作「姓名」下拉
在E2單元格設置數據驗證,序列來源為「=$A$2:$A$6」,即引用到源數據中的所有姓名所在的單元格區域。
查找「分數」
在F2單元格輸入公式:=INDEX(B2:B6,MATCH(E2,A2:A6,0))
「分數」公式的含義:
1、 INDEX函數在「分數」列中進行查找,當前選擇的人員對應行的數據。
2、 那麼當前選擇的人員到底在第幾行呢?由MATCH函數來定位。
3、 MATCH函數在「姓名」列中,查找E2單元格的值(即當前選擇的人員)處於第幾行,並將結果返回給INDEX,從而由INDEX函數返回選擇人員的分數。
查找「照片」
我們能用與「分數」相同的方法來查找「照片」嗎?大家可以試試,其實並不能的,單元格中通過公式,是沒法直接返回圖片對象的。
我們可以這樣做:
1、定義名稱「照片」:
由於定義名稱時,Excel並不提供智能的屏幕提示,所以,先在G2單元格中輸入名稱將要用到的公式:
=INDEX(動態查圖片!$C$2:$C$6,MATCH(動態查圖片!$E$2,動態查圖片!$A$2:$A$6,0))
這個公式的原理,與上一步的「分數」是完全一樣的,從這裡返回的「0」也能看出,直接輸入單元格引用公式是行不通的。
提示:公式中的各個單元格引用,記得按F4鍵進行固定,否則後面會出現名稱的「引用無效」問題。
複製G2單元格中的公式,點擊「公式」-「定義名稱」按鈕,在「引用位置」中粘貼公式,並為名稱命名為「照片」(當然,可以修改成你喜歡的其它名稱)。
刪除G2單元格的公式。
相應地,在名稱管理器中,就能看到這個新增的名稱了。
2、設置圖片引用:
將任意一張照片複製到G2單元格,該照片處於選中狀態,在公式編輯欄中輸入公式:=照片,按Enter確定。
測試一下,下拉選擇不同姓名,照片G2單元格的照片已經能跟著動態變化了。
新增源數據怎麼辦?
但是,當我們新增了源數據怎麼辦?需要再修改公式嗎?
不用!我們只需多做一件事情就好了,點擊「插入」-「表格」按鈕,或者CTRL+T快捷鍵,將源數據區域轉換為「表格」。
當我們新增了源數據包括圖片後,姓名下拉選項也跟著增長了,而選擇新增的姓名後,「分數」、「照片」的查詢也都工作良好,能給出正確的結果。
在Excel中動態查圖片,這個小技巧,你get到了嗎?那就趕緊用起來吧。