- ベストアンサー
SUMIF関数
1月1日 100 日付をA列1-10行 数をB列1-10行 1月2日 200 (略) 1月10日 1000 これで 1月4日~1月7日までの 合計SUMIFで求めるとき、 =SUMIF(A1:A10,">=1/4",B1:B10)-SUMIF(A1:A10,">=1/7",B1:B10) と 数式立てました。が答えは 2月8日 と返ってきました。 そこで 質問ですが SUMIF関数は 複数の数式には対応しないのでしょうか?(1月4日以降の合計から 1月7日以降の合計を引いて 1月4日~1月7日 を求める方法) 教えて 下さい。お願い いたします。 エクセルは2002です。 なお、自分 先日COUNTIF で質問して、そのとき 教えてもらった 数式が そのまま流用できそうな 感じがして SUMIF関数に 置き換えて みたら数値が欲しいのに、日付が 返ってきた しだいです。 http://www.okweb.ne.jp/kotaeru.php3?q=339430 お願いいたします。 最近、関数が 難しいですが がぜん 面白くなってきて、参考書を読んで 実践して つまずくと ここに 頼って きてしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>2月8日と返ってきました。 推測すると、セルの表示形式が日付になっているため、1904年2月8日(日付連番=2200)が表示されるのでしょう。 表示形式を標準または数値にすれば『2200』が表示されるでしょう。 ただし、そうだとすると、1月4日~1月7日の合計は、 =SUMIF(A1:A10,">=1/4",B1:B10)-SUMIF(A1:A10,">=1/8",B1:B10) と思われます。(4日以降から8日以降を引く) SumIfで区間の計算を行うと、質問のように引き算を使うことになります。これ以上条件が増えると、大変になります。 関数に興味を持たれているようなので、別法を書いてみます。 下はSUMPRODUCTを使った例です。 =SUMPRODUCT(("1/4"*1<=A1:A10)*(A1:A10<="1/7"*1)*B1:B10) 次は配列数式を使った例です。条件がもっと増えても計算できたりします。 =SUM(IF("1/4"*1<=A1:A10,IF(A1:A10<="1/7"*1,B1:B10,0),0)) 登録する時に、Ctrl+Shift+Enter とします。 ご参考に。
その他の回答 (1)
- Fat01ton
- ベストアンサー率46% (122/264)
式はあっているように思いますので 式を入力したセルの書式(表示形式)が 日付になっているのでは 表示形式を標準又は数値で正しい数値が出ると思います
お礼
Fat01ton さん 回答 ありがとう ございます! >表示形式を標準又は数値・・・・・ まさしく その とーりでした! ありがとうございました! ちょくちょく 関数で 出没すると思いますが、その節は 面倒 見てやってください。
お礼
nishi6 さん 回答 ありがとう ございます! >セルの表示形式が日付になっているため・・・ その とうり でした! ありがとうございました!(勉強勉強!) 別法、勉強に なりました。(ちょっと 難しかった・・けど) いろんな 方法で 求めること できるのですね! 数学(大)嫌いですが、エクセルの関数は 大好きに なりました。 ちょくちょく 出没すると 思いますが、そのときは よろしく お願いいたします。