<p id="358GVMTN"><h5>快速链接</h5></p><p><ul><li id="358GVN0M"></p><p id="358GVMTQ"> INDIRECT 函数的作用是什么?</p><p></li></ul><ul><li id="358GVN0N"></p><p id="358GVMTR"> INDIRECT 语法</p><p></li></ul><ul><li id="358GVN0O"></p><p id="358GVMTS"> 使用 INDIRECT 函数前需牢记的事项</p><p></li></ul><ul><li id="358GVN0P"></p><p id="358GVMTT"> 如何使用 INDIRECT 函数</p><p></li></ul></p><p id="358GVMU1">您或许在 Excel 中使用单元格引用已经习以为常,但您是否知晓还能更进一步去创建属于自己的单元格引用呢?这时候,INDIRECT 函数就能大显身手啦。</p><p><h5>INDIRECT 函数的作用是什么?</h5></p><p id="358GVMU2">Excel 的 INDIRECT 函数将文本字符串转换为引用。这个函数有好几项实际的好处:</p><p><ul><li id="358GVN0Q">它允许您创建动态引用。例如,您可以在公式内更改对单元格的引用,而无需更改公式本身。</li><li id="358GVN0R">INDIRECT 函数是在工作簿内的工作表之间创建链接的好方法。</li><li id="358GVN0S">您可以使用电子表格中已有的信息创建引用。</li><li id="358GVN0T">使用 INDIRECT 函数创建的引用将保持不变,即使您的工作表结构发生变化。</li></ul><h5>INDIRECT 语法</h5></p><p id="358GVMU3">默认情况下,Excel 中的引用使用A1 引用样式,这意味着它首先引用列,然后是行号。但是,INDIRECT 函数使您能够将它们颠倒。</p><p id="358GVMU4">这种颠倒过来的顺序被称作 R1C1 引用样式,其中“R”代表行,“C”代表列。因此,INDIRECT 函数包含两个参数。以下是语法:</p><p>=INDIRECT( x, y)</p><p id="358GVMU5">其中x是引用文本,y(可选)是引用样式。</p><p id="358GVMU6">更具体地说,x(引用文本)可以是 A1 样式的引用、R1C1 样式的引用、预定义名称或单元格引用。如果x引用另一个工作簿,则该第二个工作簿必须打开。还值得注意的是,如果您使用的是 Excel 网页版,则无法引用另一个工作簿。</p><p id="358GVMU7">y(引用样式)是一个可选参数。如果您选择不包含此参数,Excel 将自动使用默认的 A1 样式引用,不过您也可以在此处输入<strong>TRUE</strong>强制 Excel 使用此引用样式。输入<strong>FALSE</strong>将告诉 Excel 使用 R1C1 引用样式。</p><p id="358GVMUA">在这篇文章里,我会用 A1 样式的引用来给您展示 INDIRECT 函数的工作原理。一旦您把它的概念掌握住了,您就可以试着用用 R1C1 样式的引用。</p><p id="358GVMUD">INDIRECT 函数的结果是一个引用。</p><p><h5>使用 INDIRECT 函数前需牢记的事项</h5></p><p id="358GVMUE">在电子表格里开始用 INDIRECT 函数之前,您得知道这么几件事:</p><p><ol><li id="358GVN0U">这是 一个易失性的函数,意思就是它老是不停地尝试更新。要是在大型的电子表格里用这个函数,可能会让它运行得很慢,甚至出故障。</li><li id="358GVN0V">要想把 INDIRECT 函数用得充分,您首先得了解 在 Excel 里怎么创建命名引用。</li><li id="358GVN10">与号(&)运算符是创建可用作引用的文本字符串的好方法。</li></ol><h5>如何使用 INDIRECT 函数</h5></p><p id="358GVMUF">为了让您清楚在实际操作中怎么用 INDIRECT ,咱们来瞧瞧它最基本的形式是咋工作的。</p><p><h5>基本示例</h5></p><p id="358GVMUG">在这个例子里,在单元格 B2 里输入</p><p>=INDIRECT(A1)</p><p id="358GVMUH">会把单元格 A1 变成对单元格 D1 的引用。这就是为啥结果是 5 。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F01f1c85d225d1fb3b6ff6d5357.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVMUL"> 在这个例子里,在单元格 B2 里输入</p><p>=SUM(INDIRECT(A2))</p><p id="358GVMUM">先把 A2 转成单元格引用,然后对这个引用里的单元格求和。这是因为 INDIRECT 函数嵌在 SUM 函数里头。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2Ff1803a9a014e8fb766f6320b7d11c743.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVMUQ"> 现在,让我们看看使用 INDIRECT 函数引用另一个工作表中的单元格。Sheet2 的单元格 A1 包含数字 100,我们想在当前的工作表里创建对这个单元格的 INDIRECT 引用。首先呢,我们得在单元格 A3 里输入 <strong>Sheet2!A1</strong> ,然后通过在单元格 B3 里输入</p><p>=INDIRECT(A3)</p><p id="358GVMUR">将其转换为引用。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F67e1a1c3c5104f32482d43e2fe1f3190.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVMUV">然而,我们可以通过使用命名引用让这轻松许多。例如,如果我们将 Sheet2 的单元格 A1 重命名为<strong>总计</strong>,我们可以在 INDIRECT 引用中使用它。要是您正在创建针对另一个工作表的引用,这特别方便,因为它有助于您避免记住语法中的感叹号。此外,如果您的工作表名称更改,INDIRECT 引用将不会适应此更改,因此使用命名引用是更安全和永久的替代方法。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F2a1729d9f40b13fb49ad0fc6484b1383.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p><h5>真实世界示例 1</h5></p><p id="358GVMV3">既然我们了解了 INDIRECT 的工作原理,让我们探讨如何在现实世界中使用它来使我们的工作表发挥作用。</p><p id="358GVMV6">在 Excel 中经常是这样,达成相同结果的办法不止一种。例如,您可以包含TAKE 函数以使以下过程更具动态性。但是,我们这里的目的是举例说明 INDIRECT 函数的使用,好让您之后能按照自己的方式去用它。</p><p id="358GVMV9">在这里,我们正在跟踪一支足球队在每场比赛中的进球数,并且我们想要计算出前三场比赛的平均值。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F8b4d1cde26d736b4c4d7d2d95bead37e.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVMVD">首先,我们将使用COUNT 函数来计算球队到目前为止已经进行了多少场比赛。在单元格 E1 中输入</p><p>=COUNT(B:B)</p><p id="358GVMVE">会算出 B 列里包含数字的单元格的总数,从而告诉我们已经进行了多少场比赛。</p><p id="358GVMVH">如果您想计算文本和数字,请使用COUNTA 函数代替。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2Fe26154d52083ea9cf85239afca844b91.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVMVN">现在,我们准备使用 INDIRECT 函数将单元格 E1 中的数据转换为引用。这时候,我们的目标是算出单元格 B6 到 B8 中的值的平均值。以下是 INDIRECT 函数将如何帮助我们做到这一点。首先输入</p><p>=AVERAGE(INDIRECT</p><p id="358GVMVO">在单元格 E2 里,因为我们告知 Excel 最终是要得出平均值,而且我们还运用 INDIRECT 函数告知 Excel 到何处去查找从而计算这个平均值。</p><p id="358GVMVP">在我们的 AVERAGE 计算里,我们要引用的第一个单元格是 B8,所以我们要添加</p><p>=AVERAGE(INDIRECT <strong>("B"&E1)</strong></p><p id="358GVMVQ">到我们的公式里。请注意,我们为啥要在列引用的周围使用引号,因为我们正在用这个文本创建单元格引用。</p><p id="358GVMVR">在我们的 AVERAGE 计算中,我们接下来要引用的单元格是 B7,它比 B8 往上一个单元格。所以,添加</p><p>=AVERAGE(INDIRECT("B"&E1) <strong>,INDIRECT("B"&E1-1)</strong></p><p id="358GVMVS">到我们的公式意味着 Excel 会创建一个从 B 列开始的单元格引用,接着从 E1 中的值减掉 1。</p><p id="358GVMVT">最后,在我们的 AVERAGE 计算里,我们想要引用单元格 B6,它比 B8 往上两个单元格,然后加上右括号:</p><p>=AVERAGE(INDIRECT("B"&E1),INDIRECT("B"&E1-1) <strong>,INDIRECT("B"&E1-2))</strong></p><p id="358GVMVU">这正确算出了 3、1 和 1 的平均值,这就是过去三场比赛中的进球总数。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F2eee5e3dd30c1b493a60020eb43d7ac0.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVN02">现在,当我们给 B 列添加更多数据的时候,单元格 E1 里的值就会增加,因为 COUNT 函数能识别出 B 列中有更多的值,而且 INDIRECT 引用也会相应更新,一直能在我们的 AVERAGE 公式里抓取到最后三个值。所有这些操作都不用更改我们输入到单元格 E2 里的公式。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F08bdc89edafd9acad19637d.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p><h5>真实世界示例 2</h5></p><p id="358GVN06">咱们再来看一个例子。这一回,我们要用命名引用,这样就能在Excel 的 VLOOKUP 函数里使用 INDIRECT 了。</p><p id="358GVN07">我们想让 Excel 告诉我们这四个人在第 1 周或者第 2 周各自赚了多少钱,而且如果有需要的话,还能更改那个周数。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2Fcca5ebc10c7c2fda1744ae0965.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVN0B">首先,我们需要将单元格 B1 到 C5 命名为“week_1”,将单元格 B7 到 B11 命名为“week_2”。然后,在 G2 单元格里,我们将输入</p><p>=VLOOKUP(E2,INDIRECT("week_"&F2),2,0)</p><p id="358GVN0C">因为我们想让 Excel 在我们命名为“week_1”的这个范围内查找汤姆(Tom)的值,然后返回这个范围第二列里对应的精确匹配值。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2F8dd1c813fd83bb00c.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVN0G">然后我们就可以用填充柄来为其他三个人完成数据,要知道我们创建的引用既与他们各自的行相关,又因为我们使用了命名引用而有保障。</p><p class="f_center"> <img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2Flmr%2F2024%2F1106%2Fc58d9ece345aaa4f404b10733d.jpeg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p id="358GVN0K">然后,对 C 列或 F 列中的值的任何更改都会自动应用于我们刚刚编写的公式。</p><p id="358GVN0L">要完成让您的电子表格完全动态且整洁的这个过程,您可以用 Excel 的数据验证工具添加下拉菜单 。在上面的示例中,您可以通过下拉菜单访问个人的姓名,以便查找表仅占用一行。</p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189442.html