• ベストアンサー

エクセル:画像のような計算

縦に会社名、横に日付ごとの購入件数が入っている元データに対し 縦会社名(元データとは必ずしも一致しないため一致させる必要がある)、 横に月ごとの合計を表示させるにはどのような計算をすればいいでしょうか。 添付ファイルをご確認ください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>全く記載のとおりにしましたがJ1~J6が空欄のままでした・・・>< > 何か他に原因などありましたらご教授ください。  B1~G1セルに入力されているデータが、シリアル値で表されている日付データになってはおらず、文字列データになっている事が原因となっている可能性があります。  例えばB1セルを選択した際に、もしB1セルに入力されているデータが日付データであるのならば、数式バー(「fx」と記されている箇所の右隣にある、関数等を入力する欄)には 2015/6/1 などの様に「4桁の西暦年/月/日」の形式で日付が表示されます。  それに対し、「6月1日」と表示される場合は日付データではなく文字列データですので、正しい日付データに入力し直して下さい。  因みに、B1~G1セルに入力されているデータが、数式バー上で「6月1日」という形式で表示される文字列データである場合には、B1~G1セルを纏めて選択してから、セルの書式設定の表示形式を[日付]の 3月14日 とした上で、Excelの置換機能を使用して「日」を同じ「日」に置換する事で、一括して「2015/6/1」の形式のシリアル値の日付データに変換する事が出来ます。(「月」を「月」に置換するのでも構いません)  但し、B1~G1セルに入力されているデータが、数式バー上で「'6月1日」という形式(先頭に「'」が付く)で表示される文字列データである場合には、上記の方法だけでは一括して変換する事は出来ませんので、次の様にして下さい。  まず、B1~G1セルを纏めてコピーして、どこか適当な使用していないセル範囲に「値のみ」を貼り付けて下さい。  次に、その貼り付け先のセル範囲をコピーして、元のB1~G1セルに貼り付け直して下さい。  その上で、先述のセルの書式設定と置換を使用する方法で、日付けデータに変換して下さい。

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず、J1セルに次の様な関数を入力して下さい。 =IF(OR(ISNUMBER(1/DAY(I1)),COLUMNS($J:J)=1),IF(COUNTIFS($A$1:$H$1,">="&EDATE(SUM(I1),1),$A$1:$H$1,"<9999/12/31"),TEXT(LARGE($A$1:$H$1,COUNTIF($A$1:$H$1,">="&EDATE(SUM(I1),1))),"yyyy/m")+0,""),"")  次に、J1セルの書式設定の表示形式を[日付]の 2001年3月 か又は[ユーザー定義]の yyyy"年"m"月" に設定して下さい。  次に、J2セルに次の様な関数を入力して下さい。 =IF(AND(COUNTIF($A:$A,$I2),ISNUMBER(1/DAY(J$1))),SUMIFS(INDEX($B:$G,MATCH($I2,$A:$A,0),),$B$1:$G$1,">="&J$1,$B$1:$G$1,"<"&EDATE(J$1,1)),"")  次に、J2セルをコピーして、J3~J6の範囲に貼り付けて下さい。  次に、J1~J6の範囲をコピーして、J列よりも右側にある列に(必要な列数だけ)貼り付けて下さい。  以上です。

mmmtter
質問者

補足

いつもありがとうございます。 全く記載のとおりにしましたがJ1~J6が空欄のままでした・・・>< 何か他に原因などありましたらご教授ください。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

SUMIF関数利用、ではどうですか。 例データ A1:G7 -は空白セル 会社名 a 1 2 - 4 5 6 b - 3 - 3 - 1 c 1 4 2 5 -4 c - 5 1 - - -9 a 1 6 - 0 5 -14 b - 7 - -1 - -19 ーー 横方向合計 H2に式 =SUM(B2:G2) 下方向に式を複写 H2:H9 18 7 8 -3 -2 -13 ーーー J3:J5に会社名 a 16 b -6 c 5 K3の式 =SUMIF($A$2:$A$7,J3,$H$2:$H$7) K5まで式を複写。結果は K3:K5に 16 -6 5 ーー エクセルのカテゴリに質問すべきだ。 ここはVBAのコーナー。

mmmtter
質問者

お礼

カテゴリを間違えていてすみませんでした。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.1

ピボットテーブルを使うのが良いのでは?

mmmtter
質問者

お礼

ありがとうございます。 ピボットで算出されたデータを更に加工する必要があるため質問しました。

関連するQ&A