寵物展會2025年時間表
414
2025-04-01
INDIRECT函數怎么獲取中間值
INDIRECT函數怎么獲取中間值?INDIRECT函數接受2個參數,第1個參數是代表單元格引用的字符串,第2個參數指定單元格引用的樣式,然后返回第1個參數指定的引用單元格中的數據。
INDIRECT函數的基本使用如圖1所示。
圖1
INDIRECT函數之美
INDIRECT函數分析其參數所引用的單元格并獲取該單元格中的值,參數中放置著數據的單元格地址,仿佛C語言中的指針,具有解析之美。
獲取指定的單元格地址所引用的單元格值
如下圖2所示的工作表,在單元格E8中是有效的單元格地址,單元格E9中的公式使用單元格E8作為參數,獲取該單元格中的值所指定的單元格中的值:
=INDIRECT(E8)
當單元格E8中的單元格地址改變時,E9中獲取的值相應變化。
圖2
如下圖3所示,將要獲取值的單元格行號列標分別放在兩個單元格中,然后使用這兩個單元格作為INDIRECT函數的參數提取其組成的單元格地址中的值:
=INDIRECT(E8 & E9)
示例中是單元格B5中的值,你可以改變行號列標返回不同的值。
圖3
總是引用固定的單元格
如圖4所示,使用公式:
=IF(ISBLANK(INDIRECT(“B5″)),”值為空“,”正?!?
無論刪除行還是插入行,或是將B5剪切并粘貼到其他地方,公式將總是指向單元格B5。
圖4
獲取命名區域引用的單元格的數據
如圖5所示,將每列數值以列標題命名,設置單元格C4的數據有效性為序列,值為單元格區域B1:E1中的數據,即為列區域的名稱。
在單元格B9中的公式為:
=C8 &”的銷量為:”
在單元格C9中的公式為:
=SUM(INDIRECT(C8))
這樣,選擇單元格C8下拉列表中的某值后,單元格C9會自動進行計算,B8也會相應更新。
圖5
獲取另一工作表中的數據
如圖6所示,在班級工作表中,語文、數學、英語的平均分都在相同位置的單元格B2中,現在要將它們提取匯總到圖6的工作表中,在單元格B3中的公式為:
=INDIRECT(“‘” &B$2 & “‘!” & “B2”)
將其向右拖到單元格D3,即可獲取各個班級的語文平均分。
圖6
然而,由于單元格B2是硬編碼,將公式向下拖動時,仍然得到的是語文平均分。此時,我們可以使用R1C1樣式的公式獲取數值,在單元格B3中輸入公式:
=INDIRECT(“‘” &B$2 & “‘!R[-1]C2”,FALSE)
向右向下拖動,即可獲取其他工作表中相應的數據。
圖7
注:也可以使用CELL函數或者ADDRESS函數達到同樣的效果。
為ROW函數提供合法的參數
Excel不允許以下面的形式輸入:
ROW(1:LEN(A1))
此時,可以通過INDIRECT函數來達到:
ROW(INDIRECT(“1:” & LEN(A1))
Excel會將其轉換為INDIRECT(“1:5”)并傳遞給ROW函數。
這還有一個好處,就是當拖動公式時,由INDIRECT函數得到的數值不會隨單元格的變化發生變化,避免了公式因為相對引用發生錯誤。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。