加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 行业资讯

利用INDIRECT函数变换引用单元格

时间:2024-06-14 22:39:22  来源:  作者:

NDIRECT函数对引用进行计算,并显示其内容。可能大家对这个函数不是很熟悉,打个比方,你在A1单元格输入“我“,再到另一个单元格输入”=INDIRECT("A"&1)",结果就会返回”我“。那这个函数有什么用呢,下面来举例说明:sBt检测VBA
sBt检测VBA
        我们的击实试验表格盒号一般都是横向排列的,而我们需要引用的盒号一般都是竖向的,假设你的试验记录的表格在A1-J1这10个行方向的单元格,而你要引用的盒号在A30-A40这个列方向的单元格,你在A1单元格输入"=A30",拖动黑色“十”字光标,会出现B1=B30,C1=C30,这样的情况,这是excel默认的公式填充方式。但我们可以INDIRECT函数实现A1=A30,B1=A31,C1=A32。我们发现,横向填充的公式都是”A“开头的,只是数字发生了变化,我们可以利用COLUMN(列标函数)变换,因为引用是从A30开始,30对应的列号是”AD“,下面来写公式:在A1单元格输入”=INDIRECT("A"&COLUMN(AD1))”,他会返回单元格A30的值,横向拖动,公式会变成
sBt检测VBA

=INDIRECT("A"&COLUMN(AE1)),结果等于A31,以此类推,就会返回单元格A30-A40的值。sBt检测VBA
sBt检测VBA
        前面说了行对列的引用,下面来说列对行的引用,假设原始数据在A1-J1单元格,我要的效果是A30=A1,A31=B1……,这里要换的是字母,后面的数字不变,这就需要用到 CHAR函数(CHAR函数---将代码转为字符),CHAR(65)=A、CHAR(66)=B,在A30单元格输入公式:=INDIRECT(CHAR(ROW(A65))&1),下拉,就可以得到你想要的效果。sBt检测VBA
sBt检测VBA
        再来说合并单元格对连续单元格的引用,假设我的A1、A2; A3、A4;……一直到A20单元格都是两行一合并(实际只有10个数值),而我需要自动引用连续单元格A30:A40的值,如果你在A1单元格输入:A1=A30,下拉,会出现A3=A32,A5=A34……,这显然不是我们想要的结果,我们要的结果是A1=A31,A3=A32,A5=A33……,也就是每次只递进1,因为从A1单元格开始,公式是这样的,A1单元格输入=INDIRECT("A"&30+(ROW(A1)+1)/2).下拉填充公式。sBt检测VBA
sBt检测VBA
        最后再来说连续单元格对合并单元格的引用,和前面一样,合并单元格在A1到A20,有10个数值,假设我要在C1到C10单元格引用这10个数值,在C1单元格输入=INDIRECT("A"&1+(ROW(A1)-1)*2),下拉填充,就可以实现连续单元格对合并单元格的自动填充。
sBt检测VBA

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
1620+套综合甲检测报告/原始记录空表
1620+套综合甲检测报
2022年最新内检送检指南 (检测项目类别--样品名称--检测项目参数--取样检测数量--完成期限)
2022年最新内检送检指
水利 空表 震动频率模拟报告
水利 空表 震动频率模
给报告批量添加签章、删除签章工具
给报告批量添加签章、
相关文章
    无相关信息
栏目更新
栏目热门