在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的答案 - 因为范围中只有一个空白单元格。