2016-06-14 7 views
0

私はExcelのスキルを向上させようとしています(もちろん私の上司に感銘します)。原材料のシートおよび原材料からの統計の多くのシート。私は他の誰かがレイアウトを作ったので、私の人生をよりシンプルにしないExcelシートを手渡されました。Excel:参照セルが3ずつインクリメントされたときの自動入力の問題

私は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を確認して値を書き込むすべてのIDについてvlookupを使用しています。
= IFERROR(VLOOKUP(1; Sheet1!A3:C6; 3; FALSE); 0)各IDに対して、これを使用しています(IFERRORを使用して、
最後の行(ここではC6)は変化するので、単純化してより高い数値を選択することができます(あまり高度ではありません)。

私の問題は、私はされるであろう、(何週間も、ようにして)Week2とWeek3のための次のセルにこれを自動入力したいということです。
= 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)の作成を主張します。

1(A:C-> B:D)ではなく、パターンと同じように、自動入力を3(A:C-> D:F)でインクリメントするスマートな方法はありますか?

+0

Indirect()を使用することはできますが、列を挿入すると簡単に壊れます – Sun

答えて

0

列をオフセットするにはさまざまな方法があります。私は非揮発性を好む。INDEX function

enter image description here


=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) 

揮発性関数が再計算¹たびブック全体の変更で何か、その結果の変化に影響を与えないだけで何か。 volatileの機能の例は、INDIRECT,OFFSET,TODAY,NOW,RANDおよびRANDBETWEENである。 CELLINFOワークシート関数のいくつかのサブ関数は、それらも同様に揮発性にします。

関連する問題