1.4 混合引用案例
混合引用是指在引用的过程中,在行和列上,一个是相对引用,另一个是绝对引用。混合引用通常是通过公式引用特定的行或者特定的列。
例如,要在图1-17的深色区域完成九九乘法表,让每个单元格的值是其所在行最左端单元格的值和所在列最顶端单元格的值的乘积。以单元格B2为例,它的值是其最左端单元格A2和最顶端单元格B1的乘积,即:
图1-17 九九乘法表
B2=A2*B1
这里,为了保证单元格B2的公式能够扩展到整个九九乘法表的单元格区域,需要在公式内使用混合引用。
思路1:讨论公式中参与运算的单元格A2被引用的情况。单元格A2是运算公式中左端的乘数,为了方便说明,将其称为左乘数。
· 列的引用情况。
针对左乘数,公式无论在哪一列使用,所引用的列都不能发生变化,以保证始终引用当前行最左列(A列)的单元格数值参与九九乘法表的运算。这就要求对公式中左乘数A2的列进行限制,让其作为绝对引用使用。因此,要在列号A的前面加上“$”符号。
· 行的引用情况。
针对左乘数,公式在哪一行,所引用的行就是哪一行,即公式与行要同步变化,以保证始终使用当前行最左列的单元格数值参与九九乘法表的运算。这就要求不能对公式中左乘数A2的行移动进行限制,以保证它们之间的相对引用关系。因此,行号2的前面不能加上“$”符号。
经过上述分析,公式中参与运算的单元格“A2”所使用的引用格式应为“$A2”,以确保在自动填充的过程中,引用单元格A2时能正确地自动更新引用位置。
思路2:讨论公式中参与运算的单元格B1被引用的情况。这里为了方便说明,将其称为右乘数。
· 列的引用情况。
针对右乘数,公式在哪一列,引用的就是哪一列的值,即公式与列要同步变化,以保证始终引用当前列的最顶端的值。这就要求公式中参与运算的单元格B1的列号要使用相对引用。因此,列号B的前面不能加上“$”符号。
· 行的引用情况。
针对右乘数,公式无论在哪一行使用,所引用的行都不能发生变化,以保证始终引用的是当前列最顶行(第1行)的数值参与九九乘法表的运算。这就要求对公式中单元格B1的行进行移动限制,要让其作为绝对引用使用。这意味着行号1的前面必须加上“$”符号。
经过上述分析,公式中参与运算的单元格“B1”所使用的引用格式应为“B$1”,以确保在自动填充的过程中,引用单元格B1时能正确地自动更新引用关系。
综上,为了确保能够使用单元格B2的公式填充单元格区域B2:J10,单元格B2要使用的公式为:
B2=$A2*B$1
确定好单元格B2的引用关系后,在单元格B2内输入上述公式,拖动填充柄完成整个区域的填充,即可得到九九乘法表,如图1-18所示。
图1-18 计算结果
上述过程是详细的思考过程,在熟练掌握混合引用的基本规律后,并不需要如此复杂的分析。直接通过观察可知,单元格B2所使用的公式中引用的左乘数A2是行同步变化、列不变的,直接修改其行列的引用关系为“$A2”即可;所使用的公式中引用的右乘数B1是行不变、列同步变化的,直接修改其行列的引用关系为“B$1”即可。这样直接得到了修改后的公式,即B2=$A2*B$1。