ぼくは優待クロスをGoogleスプレッドシートで管理しています*1。その中で、意外と便利に使えるのが「条件付き書式」。これは、設定した条件に従って、背景の色や文字の色などを動的に変更できるようにするものです。
カラースケールで利回りを可視化する
選択した範囲内で、数字が小さいものから大きくなるにつれて色を変えるのが「カラースケール」です。ぼくの表では、1行ごとに銘柄を記入し、列ごとに「株価」「必要数量」「必要資金」「(本日購入の)コスト」「利回り」などを計算して表示されるようにしています。
例えば下記は、優待の実質価値からコストを引いた利益額で並べ替えたところです。この「利益」の背景に色がついていますが、これがカラースケールです。
カラースケールを設定することで、どの銘柄がお得で、どれが後回しにすべきかを瞬時に判断できるようになります。
例外を目立たせる書式ルール
優待クロスでよくあるミスが、優待をもらうのには200株が必要なのに、100株しか取得していなかったというものです。それを確認するために表に「必要株式数」を記載するようにしているのですが、意外と見落としたりします。
そこで、次のように「100より大きい数字だったら」「背景に色を付ける」ようにしています。「株数」の列を御覧ください。
この設定は簡単で、書式条件に「次より大きい」を選んで、数字を指定するだけです。
何月権利確定かで背景を変える
もう少し高度な技に入っていきましょう。Excelに限らずGoogleスプレッドシートの便利な使い方は、データは1つのシートに集約して、フォーマットを統一しておくことです。簡易なデータベースのように使うわけです。
すると月ごとの銘柄の比較も簡単なわけですが、権利確定月を見誤ると面倒なことになります。そこで、月ごとに背景色を変えるようにしましょう。
こちらでは書式ルールの「カスタムの数式」を使います。権利確定日が記載されているのは「F列」なのですが、それに対してmonth関数を使い、月を取得。それが1なら1月ということなのでこの色、2なら別の色……というように設定しています。
列を表すときは「$」を使う
もう少し高度にいきましょう。下記を見てください。これは「信用売り」している株数と、口座ごとに現物保有済み株数が一致しているかを表しています。一番上の「図研」の場合、売りが200で、口座1に100株、口座2に100株なので、バランスしています。
ところが、「近鉄エクスプレス」は売り(予約)が200ですが、現物はゼロなので、背景に色が付くようにしています。
これを実現するカスタム数式は次の通りです。Googleスプレッドシートのカスタム数式では、列全体を表現するのに「$」を使います。ここでは、
=not($U1=sum($V1:$Z1))
という式で、上記式が正になった場合に色を付けています。
=not($U1=sum($V1:$Z1)) を見ると、V列からZ列までの合計(sum)が、U列と一致、していない(not)、場合に色を付けるという式になっていることが分かります。
数字が変われば色も動的に変わる
この条件付き書式のいいところは、計算によって数字が変われば、自動的に色も変わるところです。例えば、株価が変化*2したり、優待の変更があると、利回りが変化します。すると条件付き書式ならば、自動的に色も調整されます。この売りを建てて、こちらを買って……という売買を記入していけば、それがバランスしていないときは色が付いて注意を喚起してくれます。
別セルに数式を書いてチェックサム的に使う方法もありですが、ビジュアル的にひと目で分かることと、表計算ソフトはどの数字が何に使われているか混乱しがちですので、それが一体化していることの良さもあります。
また、Excelにあるかどうかは分からないのですが、Googleスプレッドシートには、「色で並べ替え」「色でフィルタ」という機能もあり、これを使うと、数字以外の情報も活用した分析が可能になります。
*1:管理している割に、ミスが多いのに最近困っています。シートの作りに起因するもの――例えば異名義クロスで少しずつ売却していて、売り建玉の返済買と数量が違ってしまったり、というものもあれば、単純に指値注文の一方を成行に修正するのを忘れていた……というポカミスもあります。もう少しなんとかしなくてはなりません。
*2:株価をリアルタイムにヤフーから取得する関数をGoogleスプレッドシートは備えています。ただ数が多いと頻繁にタイムアウトするのが玉に瑕。