- ベストアンサー
Excelで勝率を計算したい
Range("a90")=-3000 Range("a91")= 2000 Range("a92")=-8500 Range("a93")=23000 Range("a94")= 3000 Range("a95")=-2100 実際にはもっと長く続きますが 0よりも大きければ勝、0よりも小さければ負けとしてRange("A20")に勝率を出したいのですがよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (1)
- jo-zen
- ベストアンサー率42% (848/1995)
回答No.2
通常のセルのA列の90行以下に数字が入っている場合、2000行ぐらいまで数字が入っているとして(その中に空白行があってもかまいませんが)、 A20セルに以下の数式を入力すれば =countif(A90:A2000,">0")/count(A90:A2000) 勝率(正数の割合)が出せます。%表示したければ、セルの書式設定でパーセントを選んでください。
質問者
お礼
できましたありがとうがざいました。
お礼
知らなかったコマンドが使えるようになります。このまま使わせてもらいます。 VBAの勉強になりますありがとうございました。