- ベストアンサー
エクセルの集計について教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
G5セルに =COUNTIFS($A:$A,G$4,$C:$C,$F5) と記入、右に下にコピーします ただし、作業日の具体的な記載内容がいったいどうなっているのかに応じて、もうちょっと数式を工夫しなきゃならないかも?しれません。 セルに文字通りに「24年1月」と言葉で記入してあれば、問題ありません。逆に計算できなかった時は、各欄に記入された内容をよく見直して正しく修正してください。 合計欄はふつーにSUM関数で判りますね。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しの表で記号がさらに増えた場合にも対応できる方法です。 そのためにはF列でのデータの入力をさらに下の行まで伸ばすことも必要でしょう。F列の最後の行には合計の文字を入力しておきます。G4セルから右方向の列には年月を入力しますが最後の列には合計の文字を入力しておきます。 そこでG5セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR($F5="",G$4=""),"",IF(AND($F5="合計",COUNTIF($A:$A,G$4)>0),SUM(G$5:OFFSET(G5,-1,0)),IF(G$4="合計",SUM($G5:OFFSET(G5,0,-1)),IF(COUNTIF($A:$A,G$4),SUMIFS($D:$D,$A:$A,G$4,$C:$C,$F5),"")))) G4セルから右の列で、A列に含まれていない月のデータについては0の表示ではなく空のセルで表示できるようになっています。合計も自動的に表示されます。
お礼
難しいですね…頑張って勉強します!ありがとうございました^^
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 外していたらごめんなさい。 >例えば下記の左の表で1月のそれぞれの記号の数が知りたい場合・・・ とありますので、No.2さんの方法でおそらく正解だと思いますが、 画像を拝見した場合、普通に考えると各月のD列の合計が欲しい結果だと判断しました。 そして、A列の日付は単に「1月」といっても1月○日のように日付が違うのが一般的だと思いますので、 (1)A列の日付がその年のシリアル値でバラバラに入っている。 (2)D列の数値は「1」だけではなく、他の数値もある。 (3)別表には各月の各記号ごとの集計を表示 という解釈での一例です。 画像の配置の場合、G5セルに =SUMPRODUCT((MONTH($A$5:$A$1000)=COLUMN(A1))*($C$5:$C$1000=$F5),$D$5:$D$1000) という数式を入れ列・行方向にオートフィルでコピーしてみてください。 尚、合計行(G8セル)は単に =SUM(G5:G7) として列方向にオートフィルでコピー! これで大丈夫だと思います。m(_ _)m
お礼
関数って本当難しいですね…ありがとうございます!
- aokii
- ベストアンサー率23% (5210/22062)
一度、ピボットテーブルというものを使ってみてください。
お礼
ありがとうございました^^