ARTICLE · 1300866
Excel公式往下一拖,折扣率就跑了?把$符号的四种写法讲清楚

第一行金额算对了,抓住右下角往下一拖,后面的结果却不对。公式看起来差不多,问题常常藏在里面的单元格地址。
Excel 复制公式时,会根据新位置调整相对引用。需要跟着每一行变化的单价、数量,应该一起往下走;全表共用的折扣率,则需要固定在原来的格子里。
地址前面的 $,就是用来控制哪些部分保持不变的。

先看公式怎样跟着位置走
假设 B 列放单价,C 列放数量,D 列计算金额。B2 是 12,C2 是 3,在 D2 输入下面的公式,结果为 36。
=B2*C2把 D2 的公式向下填充到 D3,Excel 会把它改为 =B3*C3。如果第三行单价是 8、数量是 5,结果就是 40。
这里的 B2、C2 都是相对引用。D2 引用的 B2 位于同一行、左侧两列;公式移到下一行的 D3,引用也跟着变成下一行的 B3。

微软文档示例,当前行使用B5与C5计算金额
这套变化也适用于横向复制。例如把含有 =A2+B2 的 C2 复制到 D2,引用会向右移动一列,变成 =B2+C2。Excel 依照位置调整地址,不会自己判断你的业务含义。
全表共用的数值要固定
现在给刚才的金额统一打九折,把折扣率 0.9 放在 F1,E 列计算折后金额。
如果 E2 写成下面这样,第一行仍然能算出正确的 32.4。
=D2*F1但向下复制到 E3 后,它会变成 =D3*F2。金额正确移到了 D3,折扣率也跟着跑到了 F2。只检查第一行,就看不出这个问题。
需要所有行都引用 F1,可以改成下面的公式。
=D2*$F$1向下填充时,D2 会变成 D3、D4,$F$1 则始终保持原样。按前面的示例,第二行算出 32.4,第三行算出 36。
| =D2*$F$1 | ||
| =D3*$F$1 |
两个美元符号分别固定列和行。$F 固定 F 列,$1 固定第 1 行;合起来的 $F$1,就是绝对引用。
微软文档还用过“整列数字乘以 3”的示例。数字 3 放在 C2,第一行写 =A2*C2,复制后第二个地址会变成 C3、C4,偏离原来的乘数。

相对引用会把原来指向C2的地址继续向下移动
改成 =A2*$C$2,每一行就会一直取 C2 的数字 3。

加上$后,每一行仍取C2里的数字3
也可以只固定行或列
一个美元符号也有用途。
$B2 固定 B 列,行号可以变化。向右复制时仍引用 B 列,向下复制时则会从第 2 行变为第 3 行。
B$2 固定第 2 行,列字母可以变化。横向复制时,B 列可以变成 C 列;纵向复制时,行号仍是 2。
| B2 | ||
| $B$2 | ||
| $B2 | ||
| B$2 |
这类只固定一部分的写法叫混合引用,适合同时需要横向、纵向填充的表格。
例如,B2 和 B3 分别放 100、200 元的原价,C1 放九折的 0.9,D1 放八折的 0.8。希望在 C2 到 D3 形成一张折后价格表,可以在 C2 输入下面的公式。
=$B2*C$1向右复制到 D2,它变成 =$B2*D$1,仍取 B2 的原价,折扣率改取 D1。向下复制到 C3,它变成 =$B3*C$1,原价改取 B3,折扣率仍取 C1。
$B2 让原价一直从 B 列取,C$1 让折扣率一直从第 1 行取。两个方向各管一件事,整张表便可以按同一条公式填充。
批量填充前先看下一格
在 Windows 桌面版 Excel 编辑公式时,可以选中其中的某个引用,再按 F4,在相对、绝对和两种混合引用之间切换。它作用于选中的引用,不会替你判断该固定哪个格子;直接输入 $ 也能得到相同写法。
填充时,选中已经写好公式的单元格,拖动右下角的填充柄,覆盖需要填充的相邻区域即可。

单元格右下角的填充柄,图中已用方框标出
先填一两行,点开新位置的公式,确认变化的是本行数据,固定的公共参数仍然指向原处,再继续填满后面的范围。

完成向下填充后,同一列数值分别乘以3
如果 Windows 版看不到填充柄,可以到“文件—选项—高级”,检查编辑选项中的填充柄和单元格拖放设置。Mac 版则在 Excel 的偏好设置中查看编辑相关选项。菜单显示可能随版本和语言有所变化。
还要分清复制与移动。复制或拖动填充会调整相对引用;用剪切、粘贴移动公式时,其中的引用通常保持不变。把公式剪到另一个位置,和把它复制过去,得到的地址变化可能不同。
$ 固定的是引用的地址部分,不是把结果永久定成一个数。F1 的折扣率一旦从 0.9 改成 0.8,在自动计算状态下,所有仍引用 $F$1 的公式会重新计算。若只想交付当前的计算结果,可以复制计算区域,再按用途选择粘贴为数值;这时粘贴过去的单元格就不再保留原公式。
消息来源
Microsoft:相对、绝对与混合引用https://support.microsoft.com/en-us/excel/switch-between-relative-absolute-and-mixed-references
Microsoft:整列数字乘以同一数值https://support.microsoft.com/en-us/excel/multiply-a-column-of-numbers-by-the-same-number
Microsoft:向下填充公式https://support.microsoft.com/en-gb/excel/fill-a-formula-down-into-adjacent-cells
Microsoft:移动或复制公式https://support.microsoft.com/en-US/Excel/move-or-copy-a-formula-in-excel
Microsoft:Mac版拖动填充柄https://support.microsoft.com/en-us/excel/copy-a-formula-by-dragging-the-fill-handle-in-excel-for-mac
如果这篇对你有用,请点赞、留言、转发。















































































