在Excel中計算數字,日期或文本
在Excel公式中使用INDIRECT函數可以輕鬆更改公式中使用的單元格引用的範圍,而無需編輯公式本身。
INDIRECT可以和許多接受單元格引用的函數一起使用,例如SUM和COUNT函數。
在後一種情況下,使用INDIRECT作為COUNT的參數會創建一個動態範圍的單元格引用 ,可以由該函數進行匯總。
INDIRECT通過將文本數據(有時稱為文本字符串 )轉換為單元格引用來實現此目的。
示例:通過COUNT - INDIRECT公式使用動態範圍
此示例基於上圖中顯示的數據。
本教程中創建的COUNT - INDIRECT 公式為:
= COUNT(INDIRECT(E1&“:”&E2))
在此公式中, INDIRECT函數的參數包含:
- 單元格E1和E2--包含文本數據D1和D5
- 範圍運算符 - 用雙引號( “” )包圍的冒號(:),將冒號變成文本字符串
- 用於將冒號與單元格E1和E2 連接或連接在一起的兩個&符號( & )
結果是,INDIRECT將文本字符串D1:D5轉換為單元格引用,並將其傳遞給COUNT函數進行匯總。
動態改變公式的範圍
請記住,我們的目標是創建一個具有動態範圍的公式 - 可以在不修改公式本身的情況下更改公式。
例如,通過更改位於單元格E1和E2中的文本數據(例如,從D1和D5到D3和D6),可以輕鬆將由該功能累計的範圍從D1:D5更改為D3:D6。
這消除了在單元格G1中編輯公式的需要。
輸入教程數據
- 將以下數據輸入到單元格D1到E2中
- 單元 數據 D1 - 1 D2 - 兩個D3 - 3 D5 - 5 D6 - 六個E1 - D1 E2 - D5 F1 - 計數:
輸入COUNT - INDIRECT公式
- 點擊單元格G1 - 這將顯示此示例的結果
- 輸入公式: = COUNT(INDIRECT(E1&“:”&E2))
- 按下鍵盤上的Enter鍵完成該功能
- 單元格G1應該包含3的答案
請注意 ,COUNT函數僅對包含數字的單元格進行計數,因此即使D1:D5範圍內五個單元格中的四個包含數據,也只有三個單元格包含數字。
空白或包含文本數據的單元格將被該函數忽略。
修改公式的範圍
- 點擊單元格E1
- 輸入單元格引用D3
- 按下鍵盤上的Enter鍵移至單元格E2
- 在這個單元格中輸入單元格參考D6
- 按下鍵盤上的Enter鍵
- 單元格G1中的答案應該更改為2,因為新範圍D3:D6中只有兩個單元格包含數字
COUNTA,COUNTBLANK和INDIRECT
另外兩個Excel計數函數是COUNTA - 它計算包含任何類型數據的單元格 - 僅忽略空單元格或空單元格,以及COUNTBLANK ,僅計算範圍中的空單元格或空單元格。
由於這兩個函數的語法與COUNT函數的語法相似,因此可以用INDIRECT將它們替換為上面的示例以創建以下公式:
= COUNTA(INDIRECT(E1&“:”&E2))
= COUNTBLANK(INDIRECT(E1&“:”&E2))
對於範圍D1:D5,COUNTA將返回4的答案 - 因為五個單元格中的四個包含數據,而OUNTBLANK和1的答案 - 因為範圍中只有一個空白單元格。