2016-06-11 17 views
0

私は、ディストリビューションの問題に取り組んで、一連のストア(75店舗)に配信されたボリュームを分析しています。インデックス/マッチ関数の複数の値の合計

次のように私はExcelファイルを持っている:

input

あなたが見ることができるように、それぞれの日は、各店舗が毎日配信を受けていないことを考えると、同じ店舗が含まれていません。

列にストアのコードを持つ新しいテーブルと、行内のボリュームとマイルに関する情報を取得したいと考えています。さらに、同じ店舗に所属しているボリュームの値を合計したい。この例では、これは次のようになります。あなたが想像できるように

output

、私のスプレッドシートは6500行と800個の列の合計を持つ、道大きいです。 INDEX/MATCHの関数の組み合わせを使用することを考えていましたが、指定された日付に複数の値を合計する方法はわかりません。

+0

あなたは、ピボットテーブルを使用してみましたが? – Sam

答えて

1

あなたはこの数式を拡張する必要がありますが、あなたが使用できます。

=SUMIF(INDEX($C:$F,MATCH($J2,$A:$A,0),),L$1,INDEX($C:$F,MATCH($J2,$A:$A,0)+MOD(ROW(),2)+1,)) 

をテーブルはこのように構築された場合必要に応じて左);

EDIT
も店舗を取得するには:

L1: {=MIN(IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6))} 

この配列数式であると{}なしで入力する必要がありますがCTRL +シフト + を入力して確認しています!

M1: =SUMPRODUCT(SMALL(IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6),SUM((IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6)<=L$1)*1)+1)) 

M1から、あなたは、単に右にコピーすることができます。

そして

J2: =MIN(A:A) 
J3: =J2 
J4: =SMALL(A:A,COUNTIF(A:A,"<="&J3)+1) 
J5: =J4 

が、その後コピー(非連続またはそのような何かあれば)の日付を取得するためのJ4:J5単にダウン:)

1

いけない、列に店舗を置くそして、あなたはいつも店を検索することができ、入力ファイルを読み込み、出力が

Store - Date  - Volume - Miles 
101  10/06/2016  520  120 
102  11/06/2016  500  100 

のように見えるテーブルになるようにデータを正規化するために、VBAまたは類似を使用し、後でデータを日付またはピボットすることができます。あなたは、単に下にドラッグしてまですることができます

example

L2から: