• ベストアンサー

Excelで勝率を計算したい

Range("a90")=-3000 Range("a91")= 2000 Range("a92")=-8500 Range("a93")=23000 Range("a94")= 3000 Range("a95")=-2100 実際にはもっと長く続きますが 0よりも大きければ勝、0よりも小さければ負けとしてRange("A20")に勝率を出したいのですがよろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

VBAででしょうか? Sub MACRO() Dim RG As Range Dim CT,WN As Long Range("a90")=-3000 Range("a91")= 2000 Range("a92")=-8500 Range("a93")=23000 Range("a94")= 3000 Range("a95")=-2100 For Each RG In Range("A90:A95") If RG > 0 Then WN = WN + 1 If RG <> 0 Then CT = CT + 1 Next RG Range("A20") = WN / CT End Sub

saab8743
質問者

お礼

知らなかったコマンドが使えるようになります。このまま使わせてもらいます。 VBAの勉強になりますありがとうございました。

その他の回答 (1)

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.2

通常のセルのA列の90行以下に数字が入っている場合、2000行ぐらいまで数字が入っているとして(その中に空白行があってもかまいませんが)、 A20セルに以下の数式を入力すれば =countif(A90:A2000,">0")/count(A90:A2000) 勝率(正数の割合)が出せます。%表示したければ、セルの書式設定でパーセントを選んでください。

saab8743
質問者

お礼

できましたありがとうがざいました。

関連するQ&A