2015-10-16 26 views
0

我在第一个工作表中引用一系列单元格来构建第二个工作表。我经常在第一张纸的中间添加行。在引用第一个表格的第二个表格中,我添加了一行的单元格编号中有一个跳过。引用一系列单元格并在添加新行时保持顺序

表1:包含我的主目录,即更新

Sheet 1

一个新行添加(A3),以表1:

Sheet 2

表2:参考表1并拉动行

但是,您可以看到第3行应包含添加的行'Rachael',而是向下移动到Sheet1!A4并一起错过了A3。

我该如何解决这个问题?

enter image description here

+0

[获取行和列号的单元格内容]的可能重复(http://stackoverflow.com/questions/4813888/get-content-of-a-cell-given-the-row-and-列数) – ergonaut

回答

0

尽量避免公式挥发性,这意味着即使公司的先例没有改变,公式也会重新计算表单的变化。

工作表中有许多易失性公式会导致性能问题。

任何利用OFFSET()函数或INDIRECT()函数的公式都会自动变为易失性的。但是在这两个函数中,INDIRECT比OFFSET差得多。两者都是不稳定的,但OFFSET速度非常快,而INDIRECT速度非常慢。

请勿使用间接()。

最好的选择是没有问题的INDEX()函数。它比OFFSET功能还要快,INDEX也不易变。

所以使用下面的公式中的第二片材的单元格A2:

=INDEX(Sheet1!$1:$1048576,ROW(),COLUMN()) 

...,然后根据需要进行复制。

1

尝试在Sheet2中使用这个公式: (将其添加到Sheet2,A2,然后围绕复制它。)

=offset(sheet1!$A$1,row(a2)-1,column(a2)-1,1,1) 
0

直接回答你的问题 - 你可以用实现这一目标间接功能。 INDIRECT允许您通过公式动态引用单元格,而这并不一定遵循Excel的“跟踪”规则。请记住,通常,Excel为每个单元格提供了一个“唯一的ID”,并且当您最初引用任何单元格时,内部逻辑指向该特定“唯一ID”,并且可见引用指向“A1”样式引用细胞。这样做可以插入行和列,而不会无意中丢失所有引用。

因为你失去了直接引用提供的内在好处(通常:更容易维护),所以通常不是一个好主意。然而,向你展示它是如何工作的,见下文[这是假定你想一个标题行,以及对结果表中列应匹配您的原始数据表中的列]:

=INDIRECT("Sheet1!R"&ROW()+1&"C"&COLUMN()) 
相关问题