2017-02-05 14 views
0

假设我创建了这些命名区域:Apples =“A1:A3”,Pears =“B1:B3”有没有什么办法可以为公式中某个指定范围内的单元格指定偏移量?

然后在单元格C3中放入公式“= Apples + Pears”与“= A3 + B3“

是否有某种方法可以在”= Apple + Pears“公式中指定偏移量,以便单元格C3引用”= A3 + B2“而不是?

换句话说,如何指定“梨”的偏移量,使其指向B2而不是B3?

在此先感谢您的帮助!

编辑:我想式是相对的,因此,如果我它复制到小区C2,将参考“= A3 + B1”

+0

那么,下面的答案解决您的问题或仍然需要帮助? – harun24hr

回答

0

您可以使用当前单元格的ROW()函数来获取在复制公式时自动更新的索引。这个公式进入C3,然后当你拖动它时,它会自动调整梨的索引。

=INDEX(Apples,3,1)+INDEX(Pears,ROW(C3)-1,1) 

请注意,如果你的真实数据没有第2行开始,你需要从该行功能减去额外的量,以允许其他行。

+0

非常感谢!这正是我所期待的。 – Dionysus17

0

OFFSET函数将做从移动特技细胞B3一个单元格:

对于数字使用下面的函数(例如,数字3):

= A3 + OFFSET(INDIRECT(ADDRESS(MATCH(3,B:B,0),2) ), - 1,0)

而对于字符串使用此功能:

= A3 & OFFSET(INDIRECT(ADDRESS(MATCH( “梨”,B:B,0),2)), - 1,0)

+0

谢谢,这适用于特定的单元格。但是,使用命名范围使用OFFSET的语法是什么?例如,= OFFSET(Pears,0,0)给出了“#VALUE!”错误(“公式中使用的值是错误的数据类型。”)。 – Dionysus17

+0

@ Dionysus17看看上面的更新公式是否是你所追求的。 –

+0

更新我的公式。你不能把数字放在引号中。 –

0

使用INDEX function可以指定一个名称或常规范围内的单元格。

=index(apples, 3, 1) + index(pears, 2, 1) 
+0

谢谢,这就是我想要的单元格C3。但是,我想复制并粘贴公式到单元格C2并得到它: = index(apples,3,1)+ index(梨,1,1)。有没有办法做到这一点,而不使用包含梨的行索引的额外的列 - 即通过创建一个像这样的相对公式: =指数(苹果,3,1)+指数(梨,D2,1),其中D1:D3 =(0,1,2)? – Dionysus17

+0

看起来像您在评论中提供的公式可以工作。苹果,3,1)+指数(梨,D2,1),其中D1:D3 =(0,1,2),它不会在C1中工作(没有行零)。 – Jeeped

+0

感谢您的帮助。顺便说一句 - 迈克尔的解决方案消除了行索引的列。 – Dionysus17

相关问题