我正在努力提高我的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)?
答案 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)
¹当整个工作簿中的任何内容发生变化时,不仅在影响其结果的某些内容发生变化时,挥发性函数都会重新计算。 易失性函数的示例包括INDIRECT,OFFSET,TODAY,NOW,RAND和RANDBETWEEN。 CELL和INFO工作表函数的某些子函数也会使它们变得不稳定。