■よく使うエクセル関数

IF 論理式の真偽を判定
    指定した条件に適合するか否かによって、対応する式を計算する
    -------------------------------
    IF(A=B,C,D)
    -------------------------------
    もし、A=BならばCを、そうでなければDを計算する

AND 論理積
OR 論理和
NOT 論理式の逆を返す

LARGE 大きいほうから数えた順位を求める
SMALL 小さいほうから数えた順位を求める
RANK 順位を求める

YEAR 年を求める
MONTH 月を求める
DAY 日を求める
WEEKDAY 曜日を求める
RAND 乱数を発生させる
TRANSPOSE データの行列変換を行なう
VALUE 文字列を数値に変換する

MATCH 検索して位置を返す
VLOOKUP 検索して値を返す
    リストの中から適合する値を検索して、対応する値を返す
    -------------------------------
    VLOOKUP(A,B:C,D,FALSE)
    -------------------------------
    もし、Aという値をBからCの範囲で探し、D列目の値を表示する

OFFSET関数
    指定した条件だけずらした範囲を返す
    -------------------------------
    OFFSET(セルA,B列,C行,D列,E行)
    -------------------------------
    AからB列、C行ずらしたセルを左上にしたD列、E行の範囲を示す

INDIRECT 文字列に従い範囲を指定
AVERAGE 平均
GEOMEAN 相乗平均
TRIMMEAM 中間項の平均
MAX 最大値
MIN 最小化
STDEV 標準偏差
CORREL 相関関数を求める
ABS 絶対値
SIGN 正負の符号を調べる
SQRT 平方根を計算する

COUNT 数値データの個数を数える
COUNTIF 条件に合う数値データの個数を数える
    指定した条件に適合する場合の数をカウントする
    -------------------------------
    COUNTIF(A:B,“>C”)
    -------------------------------
    AからBの範囲でCより大きい値を数える

SUM 合計
SUMIF 平方根を計算する

COLUMN 列番号を求める
ROW 行番号を求める
ISNUMBER 数値か否かを判定
ISERRPR エラー値を判定

SLOPE 回帰直線の傾き
STEYX 回帰直線の標準誤差

■VBAの利用

個別のトレード戦略の検証や日々のシグナルの算出をExcelのVBAを用いて自動化する

■VBAによる自動化のポイント

プログラムコードの大半はExcelに自動的に書かせる
「ツール」→「マクロ」→「新しいマクロの記録」
書かれたコードを見るには「Alt」+「F11」

自分で定義しなければいけないのは次の3つ

変数宣言:状況によって代わりうる数値を代入して使う数
条件分岐:条件によって処理を変える場合に用いる
ループ処理:繰り返し同じ処理を行う場合に用いる

汎用性を持たせるため、できるかぎりセル内の標準的な関数で処理をおこなう(ユーザー関数やVBAでの処理は最小限に抑える)

多少は冗長になっても、あとから変更しやすい、分かりやすいコードにしておく

■VBAでよく使う処理

For Next ステートメント
指定した回数だけ、同じ処理を繰り返す
-------------------------------
For 変数=初期値 to 終了値
処理
Next 変数
-------------------------------
変数が初期値から終了値まで到達するまで処理を繰り返す

Excelの画面更新を停止して、演算速度を上げる
Application.ScreenUpdating = False

画面更新を有効にするコード
Application.ScreenUpdating = True

Excelのセルの計算結果の更新を手動にして、下記のコードが書かれるまで演算を停止することにより、処理にかかる時間を最低限に抑える
Application.Calculation = xlManual

再計算をおこなうためのコード
:Calculate

計算結果の更新を自動にするコード:
Application.Calculation = xlAutomatic

数値を適宜入力したい時に使う
Val(InputBox(“表題"))