【发布时间】:2016-10-15 02:37:45
【问题描述】:
我正在努力提高我的 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;Sheet1!A3:C6;3;FALSE);0)
最后一行(此处为 C6)会有所不同,因此我可能会使其变得简单并选择更高的数字(尽管不是很复杂)。
我的问题是我想将其自动填充到第 2 周和第 3 周的下一个单元格(以此类推,持续数周),这将是:
=IFERROR(VLOOKUP(1;Sheet1!D3:F6;3;FALSE);0) 和
=IFERROR(VLOOKUP(1;Sheet1!G3:I6;3;FALSE);0)。
但自动填充坚持让下一个单元格 =IFERROR(VLOOKUP(1;Sheet1!B3:D6;3;FALSE);0)。
是否有任何智能方法可以将自动填充增加 3(A:C->D:F),就像模式一样,而不是 1 (A:C->B:D)?
【问题讨论】:
-
你可以使用 Indirect(),但这很容易被破坏,例如当你插入列时