Excel:自动填充时出现问题,参考单元格增加3(vlookup)

时间:2016-06-14 11:28:18

标签: excel vlookup autofill

我正在努力提高我的Excel技能(当然也让我的老板印象深刻),因为我正在处理一个非常大的数据集,其中包含一些原材料和来自原材料的大量统计数据。我已经交了一张不会让我的生活更简单的Excel表格,因为其他人已经制作了布局。

我想从Sheet1获取数据并在Sheet2上计算它们。原始数据如下所示:

   A   B     C      D   E     F      G   H     I
1| Week 1           Week2            Week 3
2| ID  Name  Value  ID  Name  Value  ID  Name  Value
3| 1   A     15     2   B     4      1   A     3
4| 2   B     9      3   C     14     3   C     23
5| 4   D     1      5   E     2      4   D     8
6| 7   G     16     6   F     7
7|                  9   I     2

数据集(周)具有不同的行数,因为源仅在有数据(无0)时记录。因此,为了将数据放在正确的位置,我在每个ID上使用vlookup,每周检查ID并写入值。我正在为每个ID使用此功能(下面的ID为1,IFERROR在没有数据的情况下写入0):
= IFERROR(!VLOOKUP(1;工作表Sheet A3:C6; 3; FALSE); 0)
最后一行(这里是C6)会有所不同,所以我可以简单一点,选择一个更高的数字(虽然不是很复杂)。

我的问题是我想将它自动填充到第2周和第3周的下一个单元格(依此类推,持续数周),这将是:
= IFERROR(VLOOKUP(1; Sheet1!D3:F6; 3; FALSE); 0)和
= IFERROR(VLOOKUP(1;工作表Sheet G3:!I6; 3; FALSE); 0)

但是autofill坚持要制作下一个单元格= IFERROR(VLOOKUP(1; Sheet1!B3:D6; 3; FALSE); 0)。

是否有任何智能方法可以将自动填充增加3(A:C-> D:F),模式也是如此,而不是1(A:C-> B:D)?

1 个答案:

答案 0 :(得分:0)

有多种方法可以抵消列;我更喜欢非挥发性的¹INDEX function

=IFERROR(VLOOKUP($K5, INDEX($A:$ZZ, 0, (COLUMN(A:A)-1)*3+1):INDEX($A:$ZZ, 0, (COLUMN(A:A)-1)*3+3), 3, FALSE), 0)

enter image description here

¹当整个工作簿中的任何内容发生变化时,不仅在影响其结果的某些内容发生变化时,挥发性函数都会重新计算。 易失性函数的示例包括INDIRECTOFFSETTODAYNOWRANDRANDBETWEENCELLINFO工作表函数的某些子函数也会使它们变得不稳定。