相对和绝对单元格引用:为什么在Excel公式中使用$?

  • Share This
Michael Brown

在编写Excel公式时,单元格引用中的$让很多用户感到困惑。 但解释起来非常简单。 Excel单元格引用中的美元符号只有一个作用--当公式被复制到其他单元格时,它告诉Excel是否要改变引用。 而这个简短的教程提供了关于这一伟大功能的全部细节。

Excel单元格引用的重要性怎么强调都不为过。 了解了绝对引用、相对引用和混合引用之间的区别,你就等于掌握了Excel公式和函数的力量和通用性。

你们可能都见过Excel公式中的美元符号($),并想知道那是怎么回事。 事实上,你可以用四种不同的方式引用同一个单元格,例如A1、$A$1、$A1和A$1。

Excel单元格引用中的美元符号只影响一件事--当公式被移动或复制到其他单元格时,它指示Excel如何处理该引用。 简而言之,在行和列坐标前使用美元符号,就会形成一个不会改变的绝对单元格引用。 没有美元符号,该引用是相对的,它会改变。

如果你是为单个单元格写公式,你可以使用任何引用类型,反正公式是正确的。 但如果你打算将公式复制到其他单元格,选择适当的单元格引用类型是至关重要的。 如果你觉得幸运,你可以抛硬币:)如果你想认真一点,那就花几分钟时间学习一下绝对和相对单元格引用的来龙去脉。Excel,以及何时使用哪一个。

    什么是Excel单元格引用?

    简单地说,Excel中的单元格引用是一个单元格地址。 它告诉Microsoft Excel在哪里寻找你想在公式中使用的值。

    例如,如果你在C1单元格中输入一个简单的公式=A1,Excel将从A1单元格中提取一个值到C1中。

    正如已经提到的,只要你写一个公式,为一个 单细胞 ,你可以自由地使用任何参考类型,无论是否有美元符号($),其结果都是一样的。

    但如果你想 行动 拷贝 下面的章节提供了每种单元格引用类型的详细解释和公式示例。

    注:除此之外 A1参考样式 ,其中列由字母定义,行由数字定义,也存在着 R1C1参考样式 其中行和列都用数字标识(R1C1表示第1行,第1列)。

    因为A1是Excel中默认的引用样式,而且大部分时间都在使用,所以我们在本教程中只讨论A1类型的引用。 如果有人目前正在使用R1C1样式,你可以通过点击关闭它 文件 > 选择 > 公式 ,然后取消勾选 R1C1参考样式 箱子。

    Excel的相对单元格引用(没有$符号)。

    A 相对参考 在Excel中是一个单元格地址,在行和列坐标中没有$符号,如 A1 .

    当一个有相对单元格引用的公式被复制到另一个单元格时,引用会根据行和列的相对位置而改变。 默认情况下,Excel中的所有引用都是相对的。 下面的例子显示了相对引用的工作原理。

    假设你在B1单元格有以下公式。

    =A1*10

    如果你把这个公式复制到 另一排 在同一列中,比如说到B2单元格,公式将调整为第2行(A2*10),因为Excel假定你想把A列每一行的一个值乘以10。

    如果你把带有相对单元格引用的公式复制到 另一栏 在同一行中,Excel将改变 栏目参考 因此。

    而如果你复制或移动一个有相对单元格引用的Excel公式到 另一行和另一列 ,都是 列和行的引用 将会改变。

    正如你所看到的,在Excel公式中使用相对单元格引用是一种非常方便的方式,可以在整个工作表中执行相同的计算。 为了更好地说明这一点,我们来讨论一个真实的例子。

    在Excel中使用相对引用--公式示例

    假设你的工作表中有一列美元价格(B列),你想把它们转换为欧元。 知道了美元-欧元的转换率(在撰写本文时为0.93),第2行的公式就很简单了,即 =B2*0.93 注意,我们使用的是Excel的相对单元格引用,没有美元符号。

    按回车键将得到公式的计算结果,而结果将立即出现在单元格中。

    提示:默认情况下,Excel中的所有单元格引用都是相对引用。 因此,在编写公式时,你可以通过点击工作表上的相应单元格来添加相对引用,而不是手动输入单元格引用。

    将公式复制到下一列 当你这样做时,光标会变成一个细小的黑色十字,你按住并拖动它到你想自动填充的单元格。

    就这样!公式被复制到其他单元格,其相对引用被适当调整到每个单元格。 为了确保每个单元格中的数值被正确计算,选择任何一个单元格,在公式栏中查看公式。 在这个例子中,我选择了C4单元格,看到公式中的单元格引用是相对于第4行的,完全应该如此。

    Excel的绝对单元格引用(带$符号)。

    一个 绝对参考 在Excel中是一个在行或列坐标中带有美元符号($)的单元格地址,如 $A$1 .

    美元符号固定了对某一单元格的引用,因此,它 不变 换句话说,在单元格引用中使用$允许你在Excel中复制公式而不改变引用。

    例如,如果你在A1单元格中有10,你用一个 绝对单元格引用 ( $A$1 ),公式为 =$A$1+5 将总是返回15,无论该公式被复制到什么其他单元格。 另一方面,如果你在写同一个公式时加上 相对单元格参考 ( A1 下面的图片展示了这一区别。

    注意:虽然我们一直说Excel中的绝对引用不会改变,但事实上,当你在工作表中添加或删除行和/或列时,它确实会改变,这将改变被引用单元格的位置。 在上面的例子中,如果我们在工作表的顶部插入一个新行,Excel会很聪明地调整公式以反映这一变化。

    在真实的工作表中,在Excel公式中只使用绝对引用是非常罕见的。 然而,有很多任务需要同时使用绝对引用和相对引用,正如下面的例子所展示的那样。

    注意:绝对单元格引用不应与绝对值相混淆,绝对值是一个数字的大小,不考虑其符号。

    在一个公式中使用相对和绝对单元格引用

    很多时候,你可能需要一个公式,其中一些单元格引用被调整为复制公式的列和行,而其他单元格则保持固定。 换句话说,你必须在一个公式中使用相对和绝对单元格引用。

    例1.计算数字的相对和绝对单元格引用

    在我们前面关于美元和欧元价格的例子中,你可能不想在公式中硬编码汇率。 相反,你可以在某个单元格(例如C1)中输入这个数字,并通过使用美元符号($)在公式中固定该单元格的参考,如下面的截图所示。

    在这个公式(B4*$C$1)中,有两种单元格引用类型。

    • B4 - 相对 的单元格引用,并为每一行进行调整,以及
    • $C$1 - 绝对的 无论公式被复制到哪里,单元格引用都不会改变。

    这种方法的好处是,你的用户可以在不改变公式的情况下根据可变汇率计算欧元价格。 一旦转换率发生变化,你所要做的就是更新单元格C1中的值。

    例2.用于计算日期的相对和绝对单元格引用

    在一个公式中,绝对和相对单元格引用的另一个常见用途是在Excel中基于今天的日期计算日期。

    假设你在B列有一个交货日期列表,你用TODAY()函数在C1中输入了当前日期。 你想知道的是每件物品在多少天内发货,你可以用以下公式计算出来。 =B4-$C$1

    同样,我们在公式中使用了两种参考类型。

    • 相对而言 因为你希望这个单元格的引用根据公式所在的行而变化。
    • 绝对的 为今天的日期的单元格($C$1),因为你希望这个单元格的引用保持不变。

    总而言之,无论何时你想创建一个总是指向同一单元格的Excel静态单元格引用,一定要在公式中包含美元符号($),以便在Excel中创建一个绝对引用。

    Excel混合单元格引用

    Excel中的混合单元格引用是指列号或行号是固定的引用。 例如,$A1和A$1是混合引用。 但各自的含义是什么? 很简单。

    正如你所记得的,Excel的绝对引用包含2个美元符号($),同时锁定列和行。 在混合单元格引用中,只有一个坐标是固定的(绝对),另一个(相对)将根据行或列的相对位置而改变。

    • 绝对列和相对行 当一个具有这种引用类型的公式被复制到其他单元格时,列字母前面的$符号会将引用锁定到指定的列,这样它就不会改变。 相对的行引用,没有美元符号,根据公式被复制到的行而不同。
    • 相对列和绝对行 在这种引用类型中,行的引用不会改变,而列的引用会改变。

    下面你将看到一个使用两种混合单元格引用类型的例子,希望能使事情更容易理解。

    在Excel中使用混合引用--公式示例

    在这个例子中,我们将再次使用我们的货币转换表。 但是这一次,我们不会仅仅局限于美元-欧元的转换。 我们要做的是将美元价格转换为其他一些货币,所有这些货币都有一个 单一公式 !

    首先,让我们在某一行输入转换率,例如第2行,如下图所示。 然后,你只需为左上角的单元格(本例中为C5)写一个公式来计算欧元的价格。

    =$B5*C$2

    其中B5美元是同一行的美元价格,C2美元是美元-欧元的转换率。

    现在,将公式向下复制到C列的其他单元格,之后通过拖动填充柄自动填充其他列。 结果,你将有3个不同的价格列,根据同一列中第2行的相应汇率正确计算。 为了验证这一点,选择表中的任何单元格,在公式栏中查看公式。

    例如,让我们选择D7单元格(在英镑一栏)。 我们在这里看到的是公式 =$B7*D$2 这是将B7中的美元价格乘以D2中的数值,也就是美元与伯利兹的转换率,这正是医生所要求的 :)

    现在,让我们来了解一下,Excel是如何准确地知道采取哪种价格和哪种汇率的。 正如你可能已经猜到的那样,是混合单元格的引用在起作用($B5*C$2)。

    • $B5 - 绝对列和相对行 这里你只在列的字母前加上美元符号($),以固定对A列的引用,所以Excel在所有转换中总是使用原始的美元价格。 行的引用(没有$符号)没有被锁定,因为你想单独计算每一行的价格。
    • C$2 - 相对列和绝对行 因为所有的汇率都在第2行,你通过在行号前加上美元符号($)来锁定行参考。 现在,无论你把公式复制到哪一行,Excel都会在第2行寻找汇率。 因为列参考是相对的(没有$符号),它将被调整为公式被复制到的那一列。

    如何在Excel中引用整个列或行

    当你在处理一个行数不固定的Excel工作表时,你可能想引用某一特定列中的所有单元格。 要引用整个列,只需输入两次列的字母和中间的冒号,比如说 A:A .

    整列的参考资料

    除了单元格引用外,整个列的引用也可以是绝对的和相对的,例如。

    • 绝对列参考 , 如$A:$A
    • 相对列的引用,如A:A

    再说一遍,你在一个""中使用美元符号($)。 绝对列引用 将其锁定在某一列,当你将一个公式复制到其他单元格时,整列的引用不会改变。

    A 相对列参考 当公式被复制或移动到其他列时,将发生变化,当你将公式复制到同一列的其他单元格时,将保持不变。

    整列的参考资料

    要指代整个行,你使用同样的方法,只是你输入行号而不是列字母。

    • 绝对行参考 , 如1:1
    • 相对的行参考,如1:1

    理论上,你也可以创建一个 混合整列参考 混合的 整个 - 行参考。 我说 "理论上",是因为我想不出这种引用的任何实际应用,尽管例4证明了带有这种引用的公式完全按照它们的要求工作。

    例1.Excel整列引用(绝对和相对)。

    假设你在B列有一些数字,你想找出它们的总数和平均数。 问题是每周都有新的行被添加到表中,所以为一个固定的单元格范围写一个通常的SUM()或AVERAGE()公式不是办法。 相反,你可以引用整个B列。

    =SUM($B:$B) - 用美元符号($)来做一个 绝对的 整列参考 将公式锁定在B列。

    =SUM(B:B) - 写出不含$的公式,使 相对 整列参考 当你把公式复制到其他列时,它将被改变。

    提示:在编写公式时,点击列的字母可以将整列的引用添加到公式中。 与单元格引用一样,Excel默认插入一个相对引用(没有$符号)。

    以同样的方式,我们写一个公式来计算整个B列的平均价格。

    =AVERAGE(B:B)

    在这个例子中,我们使用的是相对的整列引用,所以当我们把公式复制到其他列时,我们的公式会得到适当的调整。

    注意:当在你的Excel公式中使用整列引用时,千万不要在同一列的任何地方输入公式。 例如,在B列最下面的一个空单元格中输入公式=SUM(B:B)似乎是个好主意,以便在同一列的末尾得到总数。 不要这样做!这将创造一个所谓的 循环参考 而该公式将返回0。

    例2.Excel整行引用(绝对和相对)。

    如果你的Excel表格中的数据是按行而不是按列组织的,那么你可以在公式中引用整个行。 例如,我们可以这样计算第2行的平均价格。

    =average($2:$2) - 一个 绝对的 整排参考 是通过使用美元符号($)锁定到一个特定的行。

    =AVERAGE(2:2) - a 相对 整排参考 当该公式被复制到其他行时,将发生变化。

    在这个例子中,我们需要一个相对的整行引用,因为我们有3行数据,我们想通过复制相同的公式来计算每行的平均值。

    例3.如何引用一整列,不包括前几行的内容

    这是一个非常典型的问题,因为工作表中的前几行往往包含一些介绍性条款或解释性信息,你不想把它们包括在你的计算中。 遗憾的是,Excel不允许像B5:B这样的引用,即包括B列中从第5行开始的所有行。 如果你尝试添加这样的引用,你的公式很可能会返回#NAME错误。

    相反,你可以指定一个 最大行数 ,这样你的参考包括了某一列中所有可能的行。 在Excel 2016、2013、2010和2007中,最大是1,048,576行和16,384列。 早期的Excel版本的行最大是65,536,列最大是256。

    因此,为了找到下表中每一列价格的平均值(B列到D列),你在F2单元格中输入以下公式,然后将其复制到G2和H2单元格。

    =AVERAGE(B5:B1048576)

    如果你使用SUM函数,你也可以减去你想排除的行。

    =sum(b:b)-sum(b1:b4)

    例4.在Excel中使用混合的整列引用

    正如我在前面几段提到的,你也可以在Excel中做一个混合的整列或整行的引用。

    • 混合列引用,如$A:A
    • 混合行参考,如1:1

    现在,让我们看看当你把一个有这种引用的公式复制到其他单元格时会发生什么。 假设你输入公式 =SUM($B:B) 当你将该公式复制到相邻的右侧单元格(G2)时,它将变为 =SUM($B:C) 因为第一个B是固定的$符号,而第二个不是。结果,公式将把B列和C列的所有数字相加。

    一句话,要小心! 在一个工作表中不要使用太多的整列/行引用,因为它们可能会拖慢你的Excel。

    如何在绝对、相对和混合引用之间切换(F4键)。

    当你写Excel公式时,当然可以手动输入$符号,将相对的单元格引用改为绝对的或混合的。 或者,你可以按F4键来加快速度。 为了使F4这个快捷键发挥作用,你必须处于公式编辑模式。

    1. 选择有公式的单元格。
    2. 按F2键进入编辑模式,或双击该单元格。
    3. 选择你想改变的单元格引用。
    4. 按F4键可以在四种单元格引用类型之间切换。

    如果你选择了一个没有$符号的相对单元格引用,比如A1,反复按F4键可以在两个$符号的绝对引用之间切换,比如$A$1、绝对行A$1、绝对列$A1,然后再回到相对引用A1。

    注意:如果你在没有选择任何单元格引用的情况下按下F4键,鼠标指针左边的引用将被自动选择并改变为另一种引用类型。

    我希望现在你能完全理解什么是相对和绝对单元格引用,而带有$符号的Excel公式也不再神秘。 在接下来的几篇文章中,我们将继续学习Excel单元格引用的各个方面,如引用另一个工作表、三维引用、结构化引用、循环引用等。 同时,我感谢你的阅读,希望能在我们的博客在下周!

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.