2009-04-20 15 views
0

処理されたレコードの数とレコードが処理された日付を表す2つの列を持つスプレッドシートがあります。いくつかのケースでは、レコードは複数のバッチで処理することができるので、文書は次のようになります。Excelの式:日付の入力に基づいて合計を表示

33 2009年4月1日
22 2009年4月1日
12 2009年4月2日
13 2009年4月4日
36 2009年4月4日

私は自動的に、日付を含む列の新しいセットを追加しようと、その日付のレコードの合計数を示しています:

4/1/2009 55
4/2/2009 12
2009年4月3日0
2009年4月4日49

私はアルゴリズム的にこれを行う方法を知っている、と私はおそらくエクセルの外のスプレッドシートを操作することもできますが、私は、ライブでこれをやろうとしていますスプレッドシートを作成し、それを取り除く方法について少し戸惑っています。

アイデア?

ありがとうございます! IVRアベンジャー

答えて

2

SUMIF機能は機能しますか? SUMIF([range]、[criteria]、[sum_range])範囲を設定できると思います。最初のリストに日付を含むセルのセット、2番目のリストに日付を含むセルの基準、sum_rangeは最初のリスティングの最初の列にカウントされます。あなたの日付を想定し

+0

Excel-lent! (Groan) それはやっているようです。私は入力として左の列の日付を動的に取るVB関数を使いこなすので、全体が少し消化しやすくなります。 ありがとうございます! IVRアベンジャー –

+0

問題ありません。喜んで助けた – Kyle

0

が列Bにあり、蓄積される番号がAであり、あなたはこのような何かを試すことができます。コントロール-Shiftキーを使用して配列数式(入力を意味

| A | B  | C    D 
1 | 33 | 4/1/2009 | =MIN(B:B) | {=SUM(IF(B1:B5=C1,A1:A5,0))} | 
2 | 22 | 4/1/2009 | =C1+1  | {=SUM(IF(B1:B5=C2,A1:A5,0))} | 
3 | 12 | 4/2/2009 | =C2+1  | {=SUM(IF(B1:B5=C3,A1:A5,0))} | 
4 | 13 | 4/4/2009 | =C3+1  | {=SUM(IF(B1:B5=C4,A1:A5,0))} | 
5 | 36 | 4/4/2009 | =C4+1  | {=SUM(IF(B1:B5=C5,A1:A5,0))} | 

注意{} -Enter)、それはSUMIF()より速くヒープしているデータです。

私はA1のための動的な名前を定義するために傾斜させることだろう:私は私の式を固定維持するために持っていなかったように、

=OFFSET(A1,0,0,COUNT(A:A),1) 

のようなものをB5部品:A5とB1を。

手作業の要素があります:余分な日付に新しい行を追加するなど - これはちょっとしたVBAにとっては良い場所です。あるいは、例えば最後の90日間の合計を表示することができれば、使用する行の数を修正できます。

2

ピボットテーブルを使用することをお勧めします。データ領域の行領域と '合計'レコードに日付を入れます。列領域には何もありません。

ピボットテーブルは、存在する日付のみを表示するため、数式ソリューションよりも動的になります。

関連する問題