• ベストアンサー

エクセルでどう作ったらよいのでしょうか?(表です)

 <表1>                      <表2>    A           B        C     D    E   F・・・   1   月日          金額           4月  5月 6月・・・・              2  2007.4.5     100,000 3  2007.6.28    250,000 4     :            : :     :            :  --------------------------------- 上記のような表があるとします。 A2の場合は4月分と考え、A3の場合は6月分と考えます。 A列の月が4月分なら(表2の)同じ行の4月のところに、 6月分なら6月のところにB列の金額が入るようにしたいのです。 つまりA2の場合は、D2に100,000と入るようにするにはどのようにしたらよいのでしょうか? 教えて下さい。よろしくお願い致します。

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

  • ベストアンサー
noname#153814
noname#153814
回答No.5

いくつか訂正が必要です。 *2007.4.5 → 2007/4/5 *4月 → 「月」は、ユーザー定義で *C2に、=MONTH(A2)と入力してC7まで。 そこでNo3さんの =SUMPRODUCT(($A2:$A7>=D1)*($B2:$B7))-SUMPRODUCT(($A2:$A7>=E1)*($B2:$B7)) を入力し、「$A2:$A7」(二箇所あり)を「$C$2:$C$7」と書き換える。

kerott
質問者

お礼

私の質問の仕方が悪く、結果的に違う方法になってしまいすみませんでした。 sannriさんの方法を入力してみたら、月を変えた時もちゃんと合計が変化した のでうれしかったです。でも、何で全部2行目に合計された金額が出てしまうのだろう? バラバラにしたいのに。と質問がうまく伝わっていなかった事に気づかず考えていました。 今回は、IF関数で表を作る事ができましたが、その際、*印の3つの方法は、とても参考 になりました。得に最後の*印です。 ユーザー定義で表示方法を変えただけでは、式にわかってもらえないみたいですね。 表2の4月も4にしたら金額が出て完成することができました。 親切に教えて下さり、どうもありがとうございました。

その他の回答 (6)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.7

次の方法をお試しください。 (1)前準備   ・表1のA列を日付表示に変更    A列を選択→データ→区切り位置→次へ→次へ→列のデータ形式を日付にチェック   ・表にのD1:O1セルを選択し、書式をユーザ定義で0"月"として、半角数字で1~12を入力 (2)D2セルに=SUMPRODUCT((MONTH($A$2:$A$10)=D$1)*$B$2:$B$10)を入力して、右方向にコピー(表1範囲は仮にA2:B10としていますので調整して下さい) 因みに同一月が複数存在した場合は集計されます。    

kerott
質問者

お礼

お礼が遅くなり申し訳ありません。 今回は、NO.1さんの回答にあるとおり、B2に入れた数字をD2に、B3にいれた数字をF3に表示する 表を作りたかったのですが、質問の内容(同じ行に表示したい)が月の合計を求める方法と誤解を 招いてしまったようで、回答を下さった皆様には本当に申し訳けなく思っています。 いろいろ考えて下さってありがとうございました。 こちらの覧をお借りしてお礼を伝えさせて頂きます。 (IF関数を使って表を完成することができました。)

  • Ce_faci
  • ベストアンサー率36% (46/127)
回答No.6

NO3です 説明足りずに、ごめんなさい とても大切なことを忘れていました。 セルD1、E1...には4月1日、5月1日...と日付を入れて表示上は書式設定で月にしてみてください。 式の意味としては、ある月以降の合計から翌月以降の合計を引き算としています。 A2:A7とかB2:B7とかは表1の範囲です。

kerott
質問者

お礼

式の意味、勉強になりました。 親切に教えて下さり、ありがとうございました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆こんな方法もありますよ     A       B     C     D     E     F 1   月日     金額        4月    5月   6月 2  2007/4/5   100,000      100,000   0   250,000 3  2007/6/28  250,000 ◆D1は、「4」と入力して、表示形式のユーザー定義で、 0"月" としてください(E1,F1・・・以下同じ) D2=SUMPRODUCT((MONTH($A$2:$A$10)=D$1)*$B$2:$B$10) ★右にコピー

kerott
質問者

お礼

参考になりました。ありがとうございました。

  • Ce_faci
  • ベストアンサー率36% (46/127)
回答No.3

こんばんわ セルD2に =SUMPRODUCT(($A2:$A7>=D1)*($B2:$B7))-SUMPRODUCT(($A2:$A7>=E1)*($B2:$B7)) で試してください。 蛇足ですが、何か気になるのです。表が! A列で4月、5月と各月の行がひとつならA列自体の表示形式を月にすればD列以降は要らないのでは? 上述の回答は4月の行が何件もあるのではとして考えました。

kerott
質問者

補足

Ca_faciさんの教えて下さった式を入力してみたのですが、できませんでした。残念です。 表については大分簡略化してしまったのですが、 実際は月日の前の列と金額の前後に文字や別の金額を入力した列が いくつか入っている大きな表です。 この表を基にして、「この件は○月に○○円」と一目でわかるような表2を作成したいのですが、 表1の日付が変更になった時の事を考えるとなかなか難しいです。 最後に月ですが、4月から来年の3月までバラバラに入っています。 いろいろと考えて下さりありがとうございました。

noname#24622
noname#24622
回答No.2

No.1です。間違いました。訂正します。 誤 D2のセルに「=A2」とすれば 正 D2のセルに「=B2」とすれば

kerott
質問者

補足

遅い時間にもかかわらずご回答ありがとうございます。 私の質問に内容が足りませんでしたので補足させていただきます。 A列の日付とB列の金額は予定日と見積金額なので変わる場合があります。 4月○日と入力されていたものを、5月○日と入力し直した時に、金額も表2の5月のセルに自動的に表示されるようにしたいのですが、どうしたらよいのかわからなく困っています。

noname#24622
noname#24622
回答No.1

つまりB2に入れた数字をD2に(もしくはB3にいれた数字をF3に表示)表示したいということですか? そうであるならD2のセルに「=A2」とすればOKです(かぎ括弧はいりません)。 違うのであれば補足ください。