- ベストアンサー
数式をまとめる方法はありませんか?
Excel2003です。 あるセルに下の数式を作ったところ、求めた答えが出ました。 =COUNTIF($B$5:$B$30,E5)-COUNTIF($B$5:$B$30,E6)- COUNTIF($B$5:$B$30,E7)-COUNTIF($B$5:$B$30,E8) ですがこの数式は何かパターン的なので、 もっとスマートにまとめることができるのではないかと 思えるのですがまとめることはできるのでしょうか? おわかりの方、アドバイスよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ANo.3です。 ↓なら配列式にする必要もありません。 =COUNTIF($B$5:$B$30,E5)-SUMPRODUCT(COUNTIF($B$5:$B$30,E6:E8))
その他の回答 (4)
- _Kyle
- ベストアンサー率78% (109/139)
#3-4さまに票を入れつつ。 =SUMPRODUCT(COUNTIF(B5:B30,E5:E8)*{1;-1;-1;-1}) ※E5,E6,E7,E8をカウントし、結果にそれぞれ1,-1,-1,-1を掛けて足す。 ご参考まで。
お礼
お礼遅くなってすみません。 ありがとうございました。
- mt2008
- ベストアンサー率52% (885/1701)
スマートかどうか微妙ですが、配列式を使ってみては? ↓の式を[Ctrl]+[Shift]+[Enter]で確定します。式が{}で囲われて配列式になります。 =COUNTIF($B$5:$B$30,E5)-SUM(COUNTIF($B$5:$B$30,E6:E8))
お礼
お礼遅くなってすみません。 ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
同じパターンの繰り返しで、しかもE5からE10までといったようになった場合にはその都度式を追加することになり容易ではありません。例えば次のようにしてみてはいかがでしょう。 F5セルには次の式を入力します。 =COUNTIF($B$5:$B$30,E5) F6セルには次の式を入力して下方にオートフィルドラッグします。 =IF(E6="","",F5-COUNTIF($B$5:$B$30,E6) 最後に表示される値が答えとなりますね。答えは=MAX(F5:F10)のようにしても良いでしょう。 参考になりましたら幸いです。
お礼
お礼遅くなってすみません。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 参考になるかどうか判りませんが・・・ 一例です。 ↓の画像のように作業用の列を使った方法です。 画像ではA列を使っていますが、離れた列を使っても良いと思います。 A5セルに =IF(B5=$E$5,1,IF(OR(ISNUMBER(FIND($E$6:$E$8,B5))),-1,"")) これは配列数式になってしまいますので、 この画面からコピー&ペーストしただけではエラーになるか 正しい表示になってくれないと思います。 A5セルに貼り付け後、F2キーを押す、又はA5セルでダブルクリック、又は、数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 そしてオートフィルでA30までコピーすると E5セルと一致するものは「1」、E6~E8セルに一致するものは「-1」になりますので、 結果のG5セルは単純に =SUM(A:A) としています。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m
お礼
お礼遅くなってすみません。 ありがとうございました。
お礼
お礼遅くなってすみません。 ありがとうございました。