在excel中横向拖动公式,如何实现引用的单元格地址行号递增?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在excel中横向拖动公式,如何实现引用的单元格地址行号递增?相关的知识,希望对你有一定的参考价值。
在excel中纵向拖动公式,如何实现引用的单元格地址列标递增?
例1:A1单元格中输入公式:=[001.xlsx]六月份!$B5,拖动到B1时公式变为=[001.xlsx]六月份!$B6
例2:A1单元格中输入公式:=[001.xlsx]六月份!B$5,拖动到A2时公式变为=[001.xlsx]六月份!B$5
一.解决方法
假设要在B1单元格引用A列的A1单元格,C1单元格引用A列的A2单元格,D1单元格引用A列的A3单元格.......那么B1单元格公式可以写成如下
=INDIRECT("A"&COLUMN(A1))
或
=INDEX($A:$A,COLUMN(A1))
再或
=OFFSET($A1,COLUMN(A1)-1,)
再右拉填充公式
如图:
或
再或
二.相关函数的定义:
1.COLUMN函数:返回给定引用的列标。
语法
COLUMN(reference)
Reference 为需要得到其列标的单元格或单元格区域。
如果省略 reference,则假定为是对函数 COLUMN 所在单元格的引用。
如果 reference 为一个单元格区域,并且函数 COLUMN 作为水平数组输入,则函数 COLUMN 将
reference 中的列标以水平数组的形式返回。
Reference 不能引用多个区域。
2.INDIRECT函数:返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
语法
INDIRECT(ref_text,a1)
Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果
ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。
如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值
#REF!。
A1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。
如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
3.INDEX函数:返回指定的行与列交叉处的单元格引用。如果引用由不连续的选定区域组成,可以选择某一连续区域。
语法
INDEX(reference,row_num,column_num,area_num)
Reference 对一个或多个单元格区域的引用。
如果为引用输入一个不连续的区域,必须用括号括起来。
如果引用中的每个区域只包含一行或一列,则相应的参数 row_num 或 column_num 分别为可选项。例如,对于单行的引用,可以使用函数
INDEX(reference,,column_num)。
Row_num 引用中某行的行序号,函数从该行返回一个引用。
Column_num 引用中某列的列序号,函数从该列返回一个引用。
Area_num 选择引用中的一个区域,并返回该区域中 row_num 和 column_num 的交叉区域。选中或输入的第一个区域序号为
1,第二个为 2,以此类推。如果省略 area_num,函数 INDEX 使用区域 1。
例如,如果引用描述的单元格为 (A1:B4,D1:E4,G1:H4),则 area_num 1 为区域 A1:B4,area_num 2 为区域
D1:E4,而 area_num 3 为区域 G1:H4。
说明
在通过 reference 和 area_num 选择了特定的区域后,row_num 和 column_num 将进一步选择指定的单元格:row_num
1 为区域的首行,column_num 1 为首列,以此类推。函数 INDEX 返回的引用即为 row_num 和 column_num 的交叉区域。
如果将 row_num 或 column_num 设置为 0,函数 INDEX 分别返回对整个列或行的引用。
Row_num、column_num 和 area_num 必须指向 reference 中的单元格;否则,函数 INDEX 返回错误值
#REF!。如果省略 row_num 和 column_num,函数 INDEX 返回由 area_num 所指定的区域。
函数 INDEX 的结果为一个引用,且在其他公式中也被解释为引用。根据公式的需要,函数 INDEX 的返回值可以作为引用或是数值。例如,公式
CELL("width",INDEX(A1:B2,1,2)) 等价于公式 CELL("width",B1)。CELL 函数将函数 INDEX
的返回值作为单元格引用。而在另一方面,公式 2*INDEX(A1:B2,1,2) 将函数 INDEX 的返回值解释为 B1 单元格中的数字。
4.
OFFSET函数:以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。
语法
OFFSET(reference,rows,cols,height,width)
Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值
#VALUE!。
Rows 相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比
reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比
reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height 高度,即所要返回的引用区域的行数。Height 必须为正数。
Width 宽度,即所要返回的引用区域的列数。Width 必须为正数。
说明
如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!。
如果省略 height 或 width,则假设其高度或宽度与 reference 相同。
函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式
SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。
向右拖列号不变,行号递增
向下拖行列号都不变。追问
公式这样是没有错,可是现在是引用出不了值,现在错误
参考技术B 是说向下复制到A2,A3时,B变成C,D?用以下公式可行
=OFFSET(INDIRECT("'[001.xlsx]六月份'!B5"),,ROW(A1))追问
公式这样是没有错,可是现在是引用出不了值,提示错误
参考技术C 下拉后列标递增:B5->C5->D5……=INDIRECT("'[001.xlsx]六月份'!R5C"&ROW(A2),)
下拉。追问
公式这样是没有错,可是现在是引用出不了值,现在错误
参考技术D =INDIRECT("'[001.xlsx]六月份'!B"&COLUMN(E1))追问这样一来引用不到值了,出现错误,怎么办?
追答以上公式相当于A1中的公式【=[001.xlsx]六月份!$B5】,右拖到B1后相当于公式【=[001.xlsx]六月份!$B6】,而下拉到A2时相当于【=[001.xlsx]六月份!$B5】,完全与所举例子吻合。
追问OK,虽然公式跟我举的例子完全吻合,可是关键是这样引用不到值,望帮忙解决!
本回答被提问者采纳Excel 向下拖动单元格,实现公式自动计算
公式为:
=SUM(((B6+C6+D6+O6)/31),E6:N6,P6:AG6)
我希望 Excel 向下拖动单元格,实现公式自动计算。具体要求是 (B6+C6+D6+O6)/31)这个式子中的序号不跟随拖动单元格的变化而变化(即式子/值恒定)。而E6:N6,P6:AG6 随拖动单元格的变化而变化
能否实现,怎么实现?
EXCEL单元格的引用包括相对引用、绝对引用和混合引用三种。
绝对引用
单元格中的绝对单元格引用(例如 $F$6)总是在指定位置引用单元格F6。如果公式所在单元格的位置改变,绝对引用的单元格始终保持不变。如果多行或多列地复制公式,绝对引用将不作调整。默认情况下,新公式使用相对引用,需要将它们转换为绝对引用。例如,如果将单元格 B2 中的绝对引用复制到单元格 B3,则在两个单元格中一样,都是 $F$6。
相对引用
公式中的相对单元格引用(例如 A1)是基于包含公式和单元格引用的单元格的相对位置。如果公式所在单元格的位置改变,引用也随之改变。如果多行或多列地复制公式,引用会自动调整。默认情况下,新公式使用相对引用。例如,如果将单元格 B2 中的相对引用复制到单元格 B3,将自动从 =A1 调整到 =A2。
混合引用
混合引用具有绝对列和相对行,或是绝对行和相对列。绝对引用列采用 $A1、$B1 等形式。绝对引用行采用 A$1、B$1 等形式。如果公式所在单元格的位置改变,则相对引用改变,而绝对引用不变。如果多行或多列地复制公式,相对引用自动调整,而绝对引用不作调整。例如,如果将一个混合引用从 A2 复制到 B3,它将从 =A$1 调整到 =B$1。
在Excel中输入公式时,只要正确使用F4键,就能简单地对单元格的相对引用和绝对引用进行切换。现举例说明。
对于某单元格所输入的公式为“=SUM(B4:B8) ”。
选中整个公式,按下F4键,该公式内容变为“=SUM($B$4:$B$8)”,表示对横、纵行单元格均进行绝对引用。
第二次按下F4键,公式内容又变为“=SUM(B$4:B$8)”,表示对横行进行绝对引用,纵行相对引用。
第三次按下F4键,公式则变为“=SUM($B4:$B8)”,表示对横行进行相对引用,对纵行进行绝对引用。
第四次按下F4键时,公式变回到初始状态“=SUM(B4:B8)”,即对横行纵行的单元格均进行相对引用。
需要说明的一点是,F4键的切换功能只对所选中的公式段有作用。
关于$的作用请参考我的回答:http://zhidao.baidu.com/question/174196131.html本回答被提问者采纳
以上是关于在excel中横向拖动公式,如何实现引用的单元格地址行号递增?的主要内容,如果未能解决你的问题,请参考以下文章
Excel 2010:如何在不修改其输入值的情况下跨多个单元格更改公式?