1. 引用單元格里的值:
=A1
2. 瞭解indirect函數的意義以及語法:
直接拖動單元格是移動單元格內容,按住Ctrl拖動單元格是複製單元格內容
indirect專門負責幫我們把一個文本型的好像是引用的東西變成真正的引用,並且把對應的結果抓回來
引用單元格A1的內容的三種寫法:
a. =indirect(A1)
b. =indirect("A"&"1")
C. =indirect("A"&row()*5-25)
3. indirect函數與index函數引用方式的對比:
index(某列,某索引) 如: index(E:E,E3)
indirect(A1)
如:
如:同樣的例子,用index會這樣做:
用indirect這樣做:
4. 處理跨表:
有12個表,每個表是一個月,每個表裏是幾個人當月的金額,統計某人12個月的金額
思路:
只計算一個表: 1月!g2 即:"1月!"&"g2"
引用單元格: =indirect("1月!"&"g2") 同理計算其他12個月
若某個人不只在g2單元格,在別的表裏還有單元格里存在:
=vlookup("張三","1月!"&A:G,7,0)
凡是用文本構建單元格地址的時候,都需要indirect()來確定地址,將這個像是地址的東西變成真正的地址
直接選擇單元格來構建地址,就直接可以用作地址了
對於每個單元格每個人在同樣單元格位置的情況:
對於每個人在每個表裏不同位置上的情況:
對於單元格內有重複值的情況:
對於上例,求多個人每月的金額的總和:
5. 跨表引用時的單引號問題
indirect("'"&A2&"'!G2")
6. indirect名稱引用:
a. 爲區域定義名稱:
選擇區域--公式--定義名稱--名稱:張三--確定
對於這樣確定的名稱,對應的區域如果全是數字,則: =SUM(名稱) 可對區域求和
若某個單元格寫了這區域的名稱,可通過 =SUM(indirect(A1)) 來對區域求和
b. 製作二級下拉列表:
利用數據 有效性 做 二級菜單:
將列頭定義爲列的名稱--給一個空列設置數據有效性爲序列並選中列頭,再選一個空列定義數據有效性爲序列,公式爲
=indirect(上一列的第一個數據的位置)
如:對於圖中左側列出的數據,在右側做數據有效性。若想做到寫一個省份,比如F2,G2要顯示出對應省份裏的市。
這裏就用到數據有效性。首先,給A4-A3設置名稱“吉林省”,給B3-B15設置名稱“江蘇省”,給C3-C11設置名稱“廣東省”,然後,給F列設置數據有效性的序列,序列值爲A3B3C3,給G列設置數據有效性,值爲:=indirect(F1) 這樣G列的單元格就與F列單元格里的值關聯起來了,比如F2單元格是“江蘇省”,G2單元格只有江蘇省對應的市。