Jose's FANTASY SPORTS!

アメリカンフットボールを中心にスポーツ好きで、カントリーギター好きのJoseによる雑記帳です。

細かい事は分からんがVBAがやりたい-18-

2012年07月14日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
突如再開、このコーナー。
さて、いよいよ本題(?)です。
前回、前々回とやった内容を踏まえて・・・・・・アレ、やっちゃいましょう。
アメフトファン、永遠の憧れ計算式、QBレーティングです。

あれ、計算式が難しいと言われますが、内容を聞いて見ると、それでもなんとか理解できる範疇のものです。
だから、自作しちゃいましょう。

考慮されるのは、4つの要素です。
1.パス成功率
2.平均パス獲得ヤード
3.TD率
4.インターセプト率
これらを総合して判断します。

ユーザ定義関数を作る際。楽しいのはどういう引数を取るのが良いか、というのを考える事が大きな要素です。

必要な4つの要素をそのまま引数にとったのでは面白くありません。
率だし。
だから、以下のような引数をとりましょう。
パス試投
パス成功数
パス獲得ヤード
TD数
インターセプト数
率は、計算で出します。

4つの率を算出して、1~3を足し、4を引く。
これでQBレートが算出できます。(? って思っても、黙っててね。)

だから、こんな感じ。

Function QBRATE_C(attempt As Long, complete As Long, yds As Long, td As Long, intercept As Long) As Double

Dim CompPCT As Double
Dim avgYD As Double
Dim PCT_TD As Double
Dim PCT_INT As Double

CompPCT = complete / attempt * 100
avgYD = attempt / yds * 8.4
PCT_TD = td / attempt * 100 * 3.3
PCT_INT = intercept / attempt * 100 * 2

QBRATE_C = Round(CompPCT + avgYD + PCT_TD - PCT_INT, 1)

End Function


少し、自作する意味が出てきましため。

あれ?
計算があわない

そりゃそうですね。
アメフトファンはご存じの通り、NFLで算出しているQBレーティングというのは他のQBレーティングとは算出方法が違います。

NFLの算出方法はもっと複雑で、上限も設けているから、満点158.3だとかいう話をよく聞きますよね。

という訳で、次回。
NFL算出方法でのQBレーティングで、ユーザ定義関数シリーズをしめたいと思います。

BGM: Too High / Dave Matthews
このQBレーティングの数値は、NFL方式と比べると大抵高く出るみたい。
ランジェリー・フットボールのQBなんかは、かなり凄い数字になってる選手もいるとか...。
でも、みんなやりたいのはNFL方式だよね。だから次回を待ってくださいな。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 細かい事は分からんがVBAがや... | トップ | 細かい事は分からんがVBAがや... »
最新の画像もっと見る

コメントを投稿

いきなりVBA(Excel)」カテゴリの最新記事