在 Excel 函数的庞大体系中,INDIRECT 函数有着独特的作用机制。它能够根据文本地址来返回对应的引用,这种基于文本地址进行操作的特性,使得它在一些特定的数据处理场景中发挥重要作用,但同时也因其对参数形式的严格要求,容易让初学者产生混淆。

一、INDIRECT 函数的基本原理

文本地址与实际引用的区别

INDIRECT 函数依据文本地址来返回引用。例如,INDIRECT ("A1"),这里的 "A1" 是文本地址,使用该函数后,它将指向 A1 单元格,返回 A1 单元格里的值。而 INDIRECT (A1) 则不同,当 A1 单元格里的值不是文本地址时,会出现错误。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

只有当 A1 单元格里的值是文本地址,如 "B1" 时,INDIRECT (A1) 才能返回 B1 单元格里的值。这是因为 INDIRECT 函数需要文本形式的单元格地址作为参数才能正确引用。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

二、利用 INDIRECT 函数计算单元格中英文字母数量

1、字符拆分

首先,使用 MID 函数对单元格中的字符进行拆分。由于不知道单元格里有多少个字符,这里先假设给到 99 个字符的长度(如果实际字符个数比 99 长,可以将数字增大)。例如对于单元格 A2 中的文本,通过 MID (A2,ROW ($1:$99),1) 来逐个提取字符。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

2、连接数字形成文本地址

接着,给拆分出来的每个字符连接一个数字 999。这里选择 999 是有原因的,不能随意连接数字,比如不能连接 2。因为如果单元格中有字母 "B",连接 2 后会形成文本地址 "B2",若此时公式所在单元格是 B2,就会造成循环引用。连接 999 可以在很大程度上避免这种情况。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

3、引用与降维处理

然后将连接后的结果套入 INDIRECT 函数,此时会发现都是错误值。这是因为得到的是数组形式,需要进行降维处理,所以套一个 N 函数。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

4、计数得出字母数量

套了 N 函数后,会出现 0 值。这是因为第 999 行通常是空白的,被引用后就会返回 0。最后,用 COUNT 函数对这些0值进行计数,由于 0 也是数字,所以有多少个 0 就代表有多少个字母。这个公式是数组公式,需要按 CTRL + SHIFT + ENTER组合键来执行。公式为 = COUNT (N (INDIRECT (MID (A2,ROW ($1:$99),1)&999)))。

深入解析INDIRECT函数及其在计算单元格英文字母数量中的应用-趣帮office教程网

通过上述步骤,利用 INDIRECT 函数结合其他相关函数,能够巧妙地计算出单元格中的英文字母数量。这一过程虽然涉及多个函数的嵌套,但每个步骤都有其逻辑依据,有助于深入理解 Excel 函数的应用技巧。