2010年6月24日 星期四

Excel-顯示動態圖片(OFFSET+資料驗證+定義名稱)

在 Excel 中也可以做到選取儲存格內容後,即對應顯示一個圖片。(以Excel 2010為例)

以下就以製作「各地區的天氣預報的報表」來練習,Show工作表為顯示結果,List工作表為基本資料。先將網路上找到天氣相關的圖片,複製到List工作表中,並調整為相同大小,置放於Show工作表的B欄中。


Show工作表

List工作表

 

首先,為了達到各地區天氣狀況以選取方式產生(免於輸入)(如下圖),所以要藉助資料驗證的功能。

先將儲存格A2:A6定義名稱為「conditionList」。

在資料驗證中,設定儲存格B1:B7的準則為:儲存格內允許[清單],來源為「=conditionList」。

接著設定C欄中所要用到的圖片要指定到一個定義的名稱。(共7個)

名稱picture1:=OFFSET(List!$B$2,MATCH(show!$B$1,conditionList,0)-1,0,1,1)

名稱picture2:=OFFSET(List!$B$2,MATCH(show!$B$2,conditionList,0)-1,0,1,1)

名稱picture3:=OFFSET(List!$B$2,MATCH(show!$B$3,conditionList,0)-1,0,1,1)

名稱picture4:=OFFSET(List!$B$2,MATCH(show!$B$4,conditionList,0)-1,0,1,1)

名稱picture5:=OFFSET(List!$B$2,MATCH(show!$B$5,conditionList,0)-1,0,1,1)

名稱picture6:=OFFSET(List!$B$2,MATCH(show!$B$6,conditionList,0)-1,0,1,1)

名稱picture7:=OFFSET(List!$B$2,MATCH(show!$B$7,conditionList,0)-1,0,1,1)

公式的意義以picture1為例:

(1) picture1定義要給「台北」地區顯示圖片之用。

(2) MATCH(show!$B$1,conditionList,0)-1為找出儲存格B1的內容在conditionList範圍中的位置。

(3) OFFSET(List!$B$2,conditionList範圍中的位置,0,1,1)為指出該位置所對應的圖片位置。

設計時,先將List工作表中的一個圖片複製到Show工作表中的C欄中(共貼上7個圖),接著:

(1) 選取儲存格C1中的圖片,在公式輸入框中打上「=picture1」,按一下 Enter 鍵。

(2) 選取儲存格C2中的圖片,在公式輸入框中打上「=picture2」,按一下 Enter 鍵。

(3) 選取儲存格C3中的圖片,在公式輸入框中打上「=picture3」,按一下 Enter 鍵。

(4) 選取儲存格C4中的圖片,在公式輸入框中打上「=picture4」,按一下 Enter 鍵。

(5) 選取儲存格C5中的圖片,在公式輸入框中打上「=picture5」,按一下 Enter 鍵。

(6) 選取儲存格C6中的圖片,在公式輸入框中打上「=picture6」,按一下 Enter 鍵。

(7) 選取儲存格C7中的圖片,在公式輸入框中打上「=picture7」,按一下 Enter 鍵。

意思為將圖片的位置設定為定義名稱的指定位置,例如:

picture1指定為:=OFFSET(List!$B$2,MATCH(show!$B$1,conditionList,0)-1,0,1,1)位置。

如此,只要選取B欄中的儲存格,再選取一種天氣狀況,C欄中的圖示,即可同步更換為對應的圖示。

1 則留言:

  1. 請問 Excel-顯示動態圖片(OFFSET+資料驗證+定義名稱)
    我試這做了一個,有一個問題就是Excel沒有編輯關閉,會跳出一個視窗 「***.xls 已被修改過,您是否要儲存檔案?」是不是要去那裡關掉不要出現這個訊息?

    回覆刪除

好康東東