在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 列的区域的总值。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-01
A1=INDIRECT("[001.xlsx]六月份!B"&COLUMN(E1))
向右拖列号不变,行号递增
向下拖行列号都不变。追问

公式这样是没有错,可是现在是引用出不了值,现在错误

第2个回答  2016-06-01
是说向下复制到A2,A3时,B变成C,D?
用以下公式可行
=OFFSET(INDIRECT("'[001.xlsx]六月份'!B5"),,ROW(A1))追问

公式这样是没有错,可是现在是引用出不了值,提示错误

第3个回答  2016-06-01
下拉后列标递增:B5->C5->D5……
=INDIRECT("'[001.xlsx]六月份'!R5C"&ROW(A2),)

下拉。追问

公式这样是没有错,可是现在是引用出不了值,现在错误

第4个回答  2016-06-01
=INDIRECT("'[001.xlsx]六月份'!B"&COLUMN(E1))追问

这样一来引用不到值了,出现错误,怎么办?

追答

以上公式相当于A1中的公式【=[001.xlsx]六月份!$B5】,右拖到B1后相当于公式【=[001.xlsx]六月份!$B6】,而下拉到A2时相当于【=[001.xlsx]六月份!$B5】,完全与所举例子吻合。

追问

OK,虽然公式跟我举的例子完全吻合,可是关键是这样引用不到值,望帮忙解决!

本回答被提问者采纳

在excel中横向拖动公式,如何实现引用的单元格地址行号递增?
2.INDIRECT函数:返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用函数 INDIRECT。语法 INDIRECT(ref_text,a1)Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本...

excel里横向拖动公式里的数字递增
=INDIRECT("'"&TEXT(COLUMN(E:E),"00")&"'!E27")右拉填充

EXCEL横向拖拽怎么让公式里的数字递增
1、在我们的电脑上打开excel表格,在表格输入一个数字。2、我们下拉数字的时候,发现全部都是这个数字,是复制的效果,点击下拉后旁边设置下拉属性图标。3、我们可以看到下拉默认是复制单元格的属性,勾选“以序列方式填充”。4、点击之后,我们就可以看到原先数字复制的效果变成了递增的效果。5、我们继续下...

excel表格横向拖动拖动怎样能使行自动变化
在Excel表格操作中,当遇到需要在横向拖动时使行自动变化的情况时,可以利用INDIRECT函数结合COLUMN函数来实现。首先在B2单元格输入公式“=INDIRECT("A"&COLUMN())”,这里的COLUMN函数会返回当前单元格的列标位置,例如A1单元格输入时COLUMN会返回1,B2单元格输入时COLUMN会返回2。INDIRECT函数则将字符串形...

在excel中横向如何拖动数字到自动递增
1、电脑打开Excel表格,选中一个有数字的单元格,然后点击右下角的点横向拖动。2、拖动后,如果是复制的话,点击右下角的图标。3、点击打开图标后,选择填充序列。4、选择填充序列后,就可以把数字横向拖动自动递增了。

如何让excel的公式里的某个参数随拖动自动增加
1.竖向拖动,用row函数,row(a1)或row(1:1)的结果为1,竖向拖动,就会变为row(a2)或ow(2:2),结果就会变为2,继续拖动,依次递增;2.横向拖动用column函数,column(a1)或column(a:a)的结果为1,横向拖动,就会变为column(b1)或column(b:b),结果就会变为2,继续拖动,依次递增;3.如果是2...

在excel中横向如何拖动数字到自动递增
在Excel中实现数字的自动递增,操作步骤如下:首先,打开你的Excel工作表,找到一个包含数字的单元格,并用鼠标左键单击选中它。然后,你会看到单元格右下角有一个小方点,这就是你操作的起点。接下来,按住鼠标左键并保持按压,向右拖动,此时不是简单的复制,而是准备进行序列填充。在拖动过程中,你会...

如何在Excel表格中实现:横向拖动,工作表递增;下拉拖动,某个参数...
纵向,由于没有规律,没办法。但是因为你的纵向行数少,你可以采取上面的方法一次性横向拖动就能完成整个表,只要把上面公式中的“R3”改了就行了:在C3中改成“S3", 在C4中改成“F3",在C5中改成"E3", 然后选中C2:C5四个单元格,一齐向右拖动,整个表(包括第二行的)就填好了。

在excel中横向如何拖动数字到自动递增
假设需要在第一行从A1至M1数值从1起始,横向每列加1;1、在A1输入:1,在B1输入2,同时选中A1:B1;见图一 2、鼠标点选中框的右下角小黑方块,当鼠标标志变为黑十字时,左键点住,旺右拉至M1;实际结果:见图二

EXCEL VLOOKUP公式里面的日期怎么横向拖动递增
试试公式:=VLOOKUP(T$1,INDIRECT("'每日基础数据-"&TEXT("2019-02-18"+COLUMN(A1),"e-mm-dd")&".xls'!A:B"),2,0)

相似回答