[[20160909134806]] 『SUMIFSとOR組み合わせてワイルドカード使用』(???) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『SUMIFSとOR組み合わせてワイルドカード使用』(???)

エクセル2007使用です。

SUMIFSの一つの条件として、
ORを組み合わせたくて、大から始まる文字と東から始まる文字の合計を出したいのですが、{“大*”,“東*”}で入れたのですが、上手くいきませんでした。

(例)C列が9月かつH列が大から始まるもしくは東から始まるJ列の合計

=SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"}))

よろしくお願いします。

< 使用 Excel:Excel2007、使用 OS:unknown >


 勘違い削除。

 テストしたら出来るけど。
 ・・・てか「ウマくいかない」のはエラーなのかどうかなのか
 ぜんぜんわからん。
  
(GobGob) 2016/09/09(金) 14:06

 C列は文字列として月が入っているのか?

 日付を表示形式で9月の形で表示していたり、9と月数だけ入力して月部分は表示形式で表示していたりとかは無いか?

 あるいはH列の文字列の先頭に余計なスペースなどはないか?

 追記
 もう一つ。
 J列が数値ではなく文字列の数字ということは無いか?
(ねむねむ) 2016/09/09(金) 14:10

今の式だと大から始まる合計しかかえりません。
{"東*","大*"}と逆にすると東から始まる合計しかかえりません・・・

よろしくお願いします。
(???) 2016/09/09(金) 14:23


 きちんと先頭にSUMがあるか?

 =SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"})
 となっていないか?

 追記
 全角・半角の違いはあるが常連の回答者で???さんがいるのでできれば名前は別のほうがいい。
(ねむねむ) 2016/09/09(金) 14:29

今の式はこうなってます。。。
何かがおかしいんですよね・・

=SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"}))

よろしくお願いします。

※ニックネームを???からHAHAに変えました!

(HAHA) 2016/09/09(金) 14:38


 まったく関係ないかもだけど
 =SUMPRODUCT((C4:C4000="9月")*((LEFT(H4:H4000)="大")+(LEFT(H4:H4000)="東"))*J4:J4000)
 だとどういう結果になります?
(bi) 2016/09/09(金) 14:46

改名どうもです。 ご提示の式には問題なさそうですよ? データ側に問題があるように思います。

4行目からがデータのようなので、3行目にオートフィルタを設定して、C列とH列の選択候補が思ったとおりかどうか確認してみてください。
(???) 2016/09/09(金) 14:46


 確認なんだが
 数式バー上で
 =SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"})) 
 の式の
 SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"})
 部分だけを選択した状態でF9キーを押すとなんと表示されるだろうか?
 (表示確認後はEscキーを押して終わらせてくれ。Enterなどで終わらせると式がその値で置き換えられてしまうので)
(ねむねむ) 2016/09/09(金) 14:53

 >=SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"})) 
 この式は 配列数式ではないでしょうか?

 配列数式で確定(Ctrl+Shift+Enterで確定)して下さい

 または
 =SUMPRODUCT(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$H$4:$H$4000,{"大*","東*"})) 

(??) 2016/09/09(金) 15:29


 SUMIFS関数、COUNTIFS関数、SUMIF関数、COUNTIF関数で配列の結果を合計する場合はSUM関数でもSUMPRODUCT関数でも
 どちらでも構わないが。

 (試してみれば一発でわかると思うのだが)

 ただし配列定数ではなくセル範囲を使用した場合はSUM関数でShift+Ctrl+EnterかSUMPRODUCT関数を使う必要があるが。
(ねむねむ) 2016/09/09(金) 15:34

ねむねむさん、??さん、???さん、biさん、GobGobさん。
みなさんどうもありがとうございました。

今更ですみません・・
同じ式の中に配列を2回使用しているのですが、これが原因でしょうか?
(質問時には簡略してしまってました。すみません・・)

実際は。。
=SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$A$4:$A$4000,{"A","B","D"},$A$4:$A$4000,{"大*","東*"}))
と式を組んでいます。

お手数をお掛けしすみません。
こちらで原因を教えていただけますでしょうか。

(HAHA) 2016/09/09(金) 16:14


 式はそれで正しいのか?

 その式だとA列が二つ出てきているが。

 とりあえず、
 =SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$A$4:$A$4000,{"A","B","D"},$B$4:$B$4000,{"大*","東*"})) 
 だとするとこの式は
 C列が9月でA列がAかつB列が大*のもの、C列が9月でA列がBかつB列が東*、C列が9月でA列がCかつB列はどの条件も一致しない。

 つまりA列がAでB列が大で始まるものとA列がBでB列が東で始まるものの合計になる。
(ねむねむ) 2016/09/09(金) 16:29

ねむねむさん。

すみません・・A列が2つになっていますね。
ねむねむさんの書いてくださった式が正しいです。

この式では計算できないのですね。

C列が9月かつ、A列がAかBかDかつ、B列が大から始まるか東から始まる合計を出したいので、
他の方法はありますでしょうか?
(HAHA) 2016/09/09(金) 16:35


いろいろ試してみたらできました!
長い式になってしまいましたが、とりあえずこれでしのぎたいと思います。

=SUM(SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$A$4:$A$4000,{"A","B","D"},$B$4:$B$4000,"大*"),SUMIFS($J$4:$J$4000,$C$4:$C$4000,"9月",$A$4:$A$4000,{"A","B","D"},$B$4:$B$4000,"東*"))

みなさんどうもありがとうございました♪
(HAHA) 2016/09/09(金) 16:42


 =SUMPRODUCT(($C$4:$C$4000="9月")*(($A$4:$A$4000="A")+($A$4:$A$4000="B")+($A$4:$A$4000="D"))*((LEFT($B$4:$B$4000,1)="大")+(LEFT($B$4:$B$4000,1)="東")))
 ではどうだろうか?
(ねむねむ) 2016/09/09(金) 16:49

ねむねむさん。

SUMPRODUCTとLEFTの組み合わせでもできました!
ありがとうございました!
(HAHA) 2016/09/09(金) 17:08


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.