工作中,我們經常會遇到制作二級下拉菜單,或将多張表的數據合并到一張表當中,此時,我們應該想到函數Indirect,它可以高效的幫助我們完成這些工作。
一、語法結構。
作用:返回由文本字符串指定的引用。
語法結構:Indirect(ref_text,a1)。
1、Ref_text:必需。對單元格的引用。此單元格包含A1樣式的引用和R1C1樣式的引用,
2、A1:可選。一個邏輯值。用于指定包含在單元格Ref_text中的引用類型。如果A1為TRUE或省略,Ref_text被解釋為A1樣式的引用;
如果A1為FALSE,Ref_text被解釋為R1C1樣式的引用。
示例:
方法:
在目标單元格中輸入公式:=INDIRECT(F3)。
解讀:
1、從公式=INDIRECT(F3)中我們可以看出,我們要查詢的事F3單元格中的值,但F3單元格中的值為C3,所以最後測查詢結果為C3單元格中的值。
二、INDIRECT函數經典應用。
(一)、生成二級下拉菜單。
方法:
1、規範數據源,将相關的數據整理在同一列,一級菜單項放在首行。
如下圖:
2、設置一級菜單項。
方法:
(1)、選定目标單元格。
(2)、【數據】-【數據驗證】-選擇【允許】中的【序列】,單擊【來源】右側的箭頭,選定一級菜單項(暨蘋果、三星、HTC)。
(3)、單擊箭頭返回并【确定】。
3、定義名稱。
方法:
(1)、選定數據源。
(2)、Ctrl G打開【定位】對話框,并單擊【定位條件】-【常量】-【确定】。
(3)、【公式】-【根據所選内容創建定】,選擇【首行】-【确定】。
4、生成二級下拉菜單。
方法:
(1)、選定目标單元格。
(2)、【數據】-【數據驗證】-選擇【允許】中的【序列】,在【來源】中輸入公式:=INDIRECT(A3)并【确定】。
解讀:
在理解公式:=INDIRECT(A3)之前,請先看下圖。
此圖是我們在第3步定義名稱之後生成的名稱。也就是說“三星”被定義成了一個名稱,也可以理解為數組名,包含{"9100","9200","9300","9400"}數組項。當我們選擇“三星”這個數組名時,用函數INDIRECT調用其數組項并予以顯示。從而實現聯動顯示功能。
(二)、多表合并彙總。
目的:對1-4月份的銷量進行彙總。
方法:
1、選定目标單元格。
2、輸入公式: =INDIRECT(C$2&"!c"&ROW())。
3、Ctrl Enter填充。
(三)、結合SUM函數進行求和。
目的:對銷量進行求和。
方法:
在目标單元格輸入公式:=SUM(INDIRECT("c3"):C9)。
解讀:
利用INDIRECT函數依次提取C3、C4、C5、C6、C7、C8、的值,然後和C9的組合到一塊冰求和。
,