• ベストアンサー

エクセルの条件付き書式応用

【再投稿です。】 草野球の成績管理をエクセルで行っているのですが…     A     B     C     D 1 名 前 投球回 防御率 規定回 2  山田    15   2.00   20 3  高橋    30   2.50 4  佐藤    45   3.00 上記の場合、条件付き書式でMIN関数を使って赤太字になるように設定すると、規定回数未満の2.00が赤太字になってしまいます。 これを、規定回数に達しているデータに限定して2.50が赤太字にするにはどのような関数を使えばよろしいでしょうか? ちなみにC2セル以下は計算式が入っています。 自分なりに調べたのですが分からず・・・どなたかご教授下さい。

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

  • ベストアンサー
回答No.10

配列数式を条件付き書式に使えないようなことが書いてあるのでその回答です。 質問者さんには申し訳ないですが推奨できない回答になりますm(_ _)m 1. C2セルにおいて 書式 - 条件付き書式  数式が =IF(B2>=$D$2,MIN(IF($B$2:$B$4>=$D$2,$C$2:$C$4))=C2)   [書式]赤字・太字 2. C3セルより下へ C2セルの書式のコピー/貼り付け # 添付図は数式を拡張しています

kuji1
質問者

お礼

画像まで添付していただき、ありがとうございます。 「推奨できない回答」どころか、この数式で全ての問題がクリアできたのですが・・・?? ぜひ、この数式を使わせていただきたいと思います!

その他の回答 (9)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.9

失礼致します。前回の回答でミスったものです。 ヒートアップしていますね。少し責任があるのでアドバイスです。 No7さんの回答にあるように、規定回数以上の投球があった行の最小値を別セルに表示させるしか方法ないですね。 D3セルに =MIN(IF(B2:B100>D2,C2:C100,"")) と入れて Ctrl+Shift+Enter で決定すればよいと思います。 防御率 0 も省くのであれば =MIN(IF((B2:B100>D2)*(C2:C100>0),C2:C100,"")) と入れて Ctrl+Shift+Enter で決定となりますが、 投球回数が20以上あって、防御率 0 ということあるのかなとも思います。 どちらにしても、防御率が同じ選手が2名以上いれば、その対象選手に色がつきます。 別途、防御率が同じ場合は投球回数で順位をきめるとか三振数できめるとか別途ルールが必要になります。 以上の説明でよければC列の条件付書式の数式は =C1=D$3 です。 D3セルは配列関数です、ご利用は自由ですが、式の意味は理解してください。 もし、どうしてもわからなければ、別途質問されてもかまわないと思います。

kuji1
質問者

お礼

とんでもございません。hallo-2007さんには何の責任もございません。 ご指摘のとおり、一度最小値を別セルへ表示させ、そこから条件付き書式で 反映させることが出来ました! ただ、ご提示いただいた条件付き書式の数式でやってみたところ、思うようにいかなかったので、 AND関数を付け足してやってみたところ、出来ました! お気遣いまで頂き、恐縮です。本当にありがとうございました!

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

NO4です。 >規定投球回数に達している者と達していない者の防御率を0.00に ⇒前回の数式に誤りがありましたので再試行して下さい。  =IF(D2>=規定回数,C2,999)  規定回数未満は999になりますので、回避されると思います。  但し、規定回数以上で同率の場合はこの限りではありませんので他のルールを検討して下さい。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.7

・一定の条件がある中での最小値を求めるには配列計算が必要 ・セルの条件付き書式では配列計算を利用する事が出来ない 他のセルにて配列計算で条件に合う最小値を算出して、条件付き書式で 規定数以上かつ別セルに抽出した最小値の場合 として条件付けるしかないと思う 例: D3に規定回以上の投球回での最少防御率を算出 =SMALL(防御率列*(投球回列>=D2),SUMPRODUCT((投球回列<D2)*1)+1) ※配列計算なのでShift+Ctrl+Enterで確定 条件付き書式には =(B2>=$D$2)*(C2=$D$3)

kuji1
質問者

お礼

とても分かりやすい回答、ありがとうございます! 他のセルで一度最小値を求めるしかないことがよく分かり、 ご提示いただいた数式を少し改良してみたところ、反映できました。 本当にありがとうございました!

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.6

ANDは 「かつ」という意味です。 意味が分かったら式の立て方も分かるはずです。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.5

「素人なものでAND関数がよく分かりません」ということですが、AND関数をHELPなりインターネットなりで調べてみましたか? 「素人だから」は免罪符になりませんよ。 > 山田と高橋の防御率をともに0.00としてみたところ、 > 両方とも赤太字になってしまいました…。 どちらも最小値なのですから、当然です。 > これを回避するにはどうすればよいのでしょうか?? 回避するというのはどういうことですか? どういう場合にどんな結果が欲しいのかで、対応が変わります。 それをあなたが提示しないことには、回答しようがありません。

kuji1
質問者

お礼

当然、色々調べた結果分からなかったので投稿しているんです。 >どういう場合にどんな結果が欲しいのかで、対応が変わります。 質問に書いてますよね? 規定投球回数に達している者の中で、一番防御率がいい数字を赤太字にしたい、と。 規定投球回数に達している者と達していない者の防御率を0.00にしてみたら、 ともに0.00が赤太字になったので、これを回避するには…と書き込んだんです。

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

次の方法は如何でしょうか。 (1)空き列(仮にE列)のE2に=IF(C2>=規定回数,C2,999)として下方向にコピー(列を未表示にしておけば体裁がよいと思う) (2)現在の条件付き書式をE列で確定

kuji1
質問者

お礼

早速試してみたところ、見事に反映されました! が、山田と高橋の防御率をともに0.00としてみたところ、 両方とも赤太字になってしまいました…。 これを回避するにはどうすればよいのでしょうか??

noname#204879
noname#204879
回答No.3

》 【再投稿です。】 再投稿した理由は何ですか?

kuji1
質問者

お礼

2件回答をいただいたのですがいずれもうまくいかなくて…。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

>条件付き書式でMIN関数を使って赤太字になるように設定すると、 その条件式を提示してみましょう。

kuji1
質問者

お礼

C2セルでの条件式です。 =C2=MIN($C$2:$C$4)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

AND関数も組み合わせて使えばいいのではないでしょうか?

kuji1
質問者

お礼

ごめんなさい、素人なものでAND関数がよく分かりません…。

関連するQ&A