Excelで投資ポートフォリオを管理していると、「今月は先月より増えたのか?減ったのか?」を毎回目で追うのはかなり大変です。この記事では、条件付き書式を使って「前月より増えたセルは緑、減ったセルは赤」といった前月比の自動ハイライトを、一度の設定で表全体に適用する具体的な手順を、投資家目線で丁寧に解説します。
投資ポートフォリオをExcelで管理するときのよくある悩み
投資を続けていると、銘柄数も保有月数もどんどん増えていきます。最初は数銘柄・数カ月でも、気づけば「行は何十行・列は1年分以上」という横長の表になりがちです。
このとき、もっともよくある悩みが次のようなものです。
- 評価額のセルを一つひとつ目視して、前月より増えたのか減ったのかを確認している
- 色を手動で塗っているので、ミスや塗り忘れが発生する
- 新しい銘柄や月を追加するたびに、条件付き書式の範囲を手直ししていて疲れる
実は、これらはすべて「条件付き書式の使い方」を少し工夫するだけで自動化できます。しかも、一度ルールを作ってしまえば、以降は数字を入力するだけで、前月比が自動で色分けされるようになります。
前提となるデータ構造とサンプル表
この記事では、次のようなレイアウトの表を前提に説明します。
- A列:銘柄名
- B列:1月の評価額
- C列:2月の評価額
- D列:3月の評価額
- … と右方向に月が増えていく
イメージとしては、次のような表です。
| 銘柄名(A列) | 1月(B列) | 2月(C列) | 3月(D列) | 4月(E列) |
|---|---|---|---|---|
| 日本株A | 100,000 | 105,000 | 103,000 | 110,000 |
| 米国株B | 200,000 | 210,000 | 220,000 | 215,000 |
| 投資信託C | 50,000 | 48,000 | 52,000 | 53,000 |
ポイントは、「右隣りではなく、左隣りが前月のセル」になるように並べていることです。
- C列(2月)は、左のB列(1月)と比較
- D列(3月)は、左のC列(2月)と比較
- E列(4月)は、左のD列(3月)と比較
この「左隣が前月」という並びが作れていれば、条件付き書式での数式がとてもシンプルになります。
また、もっとも左の月(ここではB列=1月)は前月が存在しないため、比較用の条件付き書式は適用しない前提で話を進めます。その方が設定も管理もラクです。
条件付き書式で前月比を自動ハイライトする全体像
これから行う設定の全体像は次のとおりです。
- 比較ができる最初の月(例:C列=2月)から、右下までの範囲をまとめて選択する
- 条件付き書式で「数式を使用して、書式設定するセルを決定」を選ぶ
- 「今月 > 前月」「今月 < 前月」「今月 = 前月」の3種類のルールを作成する
- 「適用先」が表全体の範囲になっているか確認する
大事な点は、最初に範囲をまとめて選んでから数式を書くことと、セル参照を固定しない($を付けない)ことです。これができれば、「1つのルールでC列〜Z列まで全部まとめて判定」という状態を作れます。
ステップ1:適用範囲をひとかたまりで選択する
まずは、条件付き書式を適用したいセル範囲を選びます。
たとえば、次のような前提だとします。
- 銘柄名:A2〜A100
- 1月:B2〜B100
- 2月:C2〜C100
- …
- 12月:Z2〜Z100
このとき、比較可能な最初の月はC列(2月)です。なぜなら、C列は左にB列(前月)があるからです。
したがって、次の範囲をマウスドラッグ、または名前ボックスに入力して選択します。
C2:Z100
ここで重要なのが、条件付き書式の数式は、この範囲の左上のセル(C2)を基準に書くという点です。後ほど出てくる C2 や B2 は、すべて「範囲の左上を基準にした相対的な参照」として解釈されます。
ステップ2:増減を判定する条件付き書式の数式
範囲を選択した状態で、メニューから次の順に進みます。
- ホームタブ
- 条件付き書式
- 新しいルール
- 数式を使用して、書式設定するセルを決定 を選択
ここで、次の3種類のルールを順番に追加していきます。
| 判定内容 | 数式(基準セル:C2) | おすすめの色 |
|---|---|---|
| 前月から増えた | =AND(ISNUMBER(C2), ISNUMBER(B2), C2 > B2) | 緑系(上昇) |
| 前月から減った | =AND(ISNUMBER(C2), ISNUMBER(B2), C2 < B2) | 赤系(下落) |
| 前月と同じ | =AND(ISNUMBER(C2), ISNUMBER(B2), C2 = B2) | 黄色など(変化なし) |
増(上昇・緑):今月が前月より大きい場合
まずは「増えているセルを緑でハイライトする」ルールです。
数式欄に、次の式を入力します。
=AND(ISNUMBER(C2), ISNUMBER(B2), C2 > B2)
この式の意味を分解すると、次のようになります。
ISNUMBER(C2):今月のセル(C2)が数値かどうかISNUMBER(B2):前月のセル(B2)が数値かどうかC2 > B2:今月の評価額が前月より大きいかどうかAND(...):これら3つの条件がすべて満たされたときだけ TRUE(=色を塗る)
ISNUMBER を入れているのは、空欄や「-」といった文字列を入れているセルでエラーが出ないようにするためです。投資の管理表では、未投資の月や途中から買った銘柄では空欄が出てきやすいので、ここをケアしておくと安心です。
数式を入力したら、「書式」ボタンをクリックし、塗りつぶしの色に薄い緑色などを設定してOKします。
減(下落・赤):今月が前月より小さい場合
次に、「減っているセルを赤でハイライトする」ルールです。
同じく新しいルールから、数式欄に次を入力します。
=AND(ISNUMBER(C2), ISNUMBER(B2), C2 < B2)
違いは、先ほどの C2 > B2 が C2 < B2 になっているだけです。
書式では、塗りつぶしに赤系(またはピンク系)の色を設定しておくと、ポートフォリオ全体のリスク把握がしやすくなります。
変化なし(任意・黄):今月と前月が同じ場合
必要であれば、「増えも減りもしていない月」を別の色でハイライトすることもできます。
数式欄に次を入力します。
=AND(ISNUMBER(C2), ISNUMBER(B2), C2 = B2)
書式として、薄い黄色など、主役の緑・赤とケンカしない落ち着いた色を選ぶと良いでしょう。
なお、「変化なし」は必須ではありません。増減のみに色を付けたい場合は、このルールを作らないか、「書式なし」で残しておくとよいです。
ステップ3:「適用先」の範囲を確認して一括適用
ルールを作成したあと、必ず「適用先」の範囲を確認します。ここを見落とすと、「一部の列にしか色が付かない」といったトラブルが起こりがちです。
確認方法は次のとおりです。
- ホームタブ → 条件付き書式 → ルールの管理 を開く
- ルール一覧から、先ほど作成したルール(増・減・変化なし)を選択する
- 下部に表示されている「適用先」の範囲が
=$C$2:$Z$100になっているか確認する
もし、この範囲が =$C$2 のように1セルだけになっていた場合は、右側のボタンから範囲を再選択して、表全体(C2〜Z100)に修正します。
適用先が正しく設定できていれば、C列〜Z列のすべてのセルで、「今月と左隣のセル(前月)との比較結果」に応じて自動で色が付くようになります。
絶対参照・相対参照($)の考え方を感覚的に理解する
条件付き書式の数式を使うときに、多くの人がつまずくポイントが「$(ドル記号)での固定」です。
Excelでは、「セル参照に$を付けるかどうか」で、コピーしたときの動きが変わります。
| 表記 | 意味 | 例:C2から右(D2)にコピーした場合 |
|---|---|---|
B2 | 行・列ともに固定しない(相対参照) | C2 → D2 では B2 → C2 にずれる |
$B2 | 列Bを固定、行はずれる | 右にコピーしても参照先は常に列B($B2 → $B2) |
B$2 | 行2を固定、列はずれる | 右にコピーすると C$2、D$2…と列だけ変わる |
$B$2 | 行・列ともに固定(絶対参照) | どこにコピーしても常に $B$2 を参照 |
今回の目的は、「各セルが自分の左隣を前月として見にいく」ことです。
- C2なら、左隣のB2と比較したい
- D2なら、左隣のC2と比較したい
- E8なら、左隣のD8と比較したい
つまり、「比較するセルの位置」は、セルごとに変わってほしいわけです。このとき、C2 や B2 に$を付けて固定してしまうと、どのセルでも同じところ(例えば列Bだけ)を見続けることになり、意図した動作になりません。
そのため、今回の数式では、あえて
C2B2
という相対参照だけを使っています。
条件付き書式では、通常のコピーと同じ感覚でセルがずれていきます。C2を基準に書いた数式は、D2では「D2とC2の比較」、E8では「E8とD8の比較」というように、自動的に読み替えられます。
初月列(比較対象がない列)に色を付けないための考え方
1月(B列)は前月が存在しないため、「比較しようがない列」です。この列まで条件付き書式の範囲に含めると、意図しない結果になったり、空欄なのに色が付いてしまったりすることがあります。
もっとも簡単でおすすめなのは、
- そもそも適用範囲に初月列を含めない
という運用です。つまり、C列から右側だけを選ぶという方法です。
もし、何らかの理由で「B列も含む大きめの範囲にルールを設定したい」場合は、列番号を使って「初月列は判定対象から除外する」条件を足すこともできます。
たとえば「初月がB列」の場合、次のような式にしておくと、B列より右側の列だけで判定が行われます。
=AND(
COLUMN(C2) > COLUMN($B$1),
ISNUMBER(C2),
ISNUMBER(B2),
C2 > B2
)
ここで使っている COLUMN 関数は、セルの「列番号」を返す関数です。
COLUMN(C2)→ C列なら 3COLUMN($B$1)→ B列なら 2(固定)
COLUMN(C2) > COLUMN($B$1) は、「C列以降のときだけ TRUE」という条件になります。これを AND に追加することで、B列では常に FALSE(=色が付かない)とすることができます。
ただし、実務ではこのような列番号ガードを使うよりも、最初から「比較できる最初の列」だけを適用範囲にする方が管理が簡単です。特にポートフォリオ管理のように列が増えやすい表では、シンプルなルールの方がトラブルが少なくなります。
テーブル機能で「あとから列・行を増やしても自動で追従」させる
投資ポートフォリオの表は、時間とともに確実に大きくなります。
- 新しく買った銘柄が増える → 行が増える
- 月数が増える → 列が増える
普通の範囲のままだと、「新しい行・列を追加したら、条件付き書式の適用先も広げてあげる」必要があります。これを毎回やるのは地味に面倒です。
そこでおすすめなのが、Excelの「テーブル」機能を使う方法です。
- ポートフォリオの表全体(A1〜Z100など)を選択
- Ctrl + T を押す(または 挿入 → テーブル)
- 「先頭行をテーブルの見出しとして使用する」にチェックを入れてOK
これで、表が「テーブル」として認識されるようになります。テーブルに対して条件付き書式を設定しておけば、
- 新しい銘柄を行の一番下に追加したとき
- 新しい月の列を右端に追加したとき
にも、条件付き書式が自動的に新しい行・列まで拡張されます。長期的なメンテナンスコストを考えると、投資ポートフォリオのような表はテーブル化しておくのがおすすめです。
「書式のコピー/貼り付け」で他シートにも流用する
同じような前月比ハイライトを、別シートや別ファイルのポートフォリオにも使いたくなることがあります。この場合、
- 書式のコピー/貼り付け(刷毛のアイコン)
を使うと手早く複製できます。
- すでに条件付き書式が設定済みのセル(例:C2)を選択
- ホームタブ → 書式のコピー/貼り付け をクリック
- コピー先の範囲(例:別シートのC2:Z100)をドラッグ
ただし、この方法だと適用先の範囲が中途半端にずれることもあるので、複製後は 「ルールの管理」で適用範囲を再確認することをおすすめします。
よくあるつまずきとチェックポイント
色がまったく付かない / 一部にしか付かない
次のポイントを順番に確認してみてください。
- 適用先の範囲が、表全体ではなく一部のセルだけになっていないか
- 数式で、
C2やB2を$C$2や$B$2のように固定してしまっていないか - 比較したいセルの値が、実は数値ではなく「文字列」として扱われていないか
特に多いのが、「数値に見えるけれど実は文字列」のパターンです。
- 前後にスペースが入っている
- 数字の前に「’」(シングルクォーテーション)が付いている
- インポートしたCSVから貼り付けたため、すべて文字列になっている
この場合は、ISNUMBER が FALSE になり、条件付き書式の数式が TRUE にならないため、色が付かないように見えます。「区切り位置」機能や値貼り付けなどで、正しい数値に変換しておくと良いでしょう。
初月列(B列)にもなぜか色が付いてしまう
初月列を適用範囲から外しているのに色が付く場合、次の可能性があります。
- 手動でB列を範囲に含めた別のルールが残っている
- B列のセルに直接色を塗ってしまっている(条件付き書式ではなく手動)
ルールの管理画面で、
- 不要なルールを削除する
- 適用先の範囲を
=$C$2:$Z$100に統一する
といった整理をすると、問題が解決しやすくなります。
前月比が逆に判定されている気がする
「増えているはずなのに赤くなっている」と感じるときは、次を確認してみてください。
- 表の並びが「左に新しい月、右に古い月」と逆順になっていないか
- 比較対象のセルを間違えていないか(C列がD列と比較しているなど)
この記事では、「右に行くほど月が進む」「左隣が前月」という前提で数式を組んでいます。もし表の並びが逆の場合は、
- 並びを入れ替える(推奨)
- あるいは
C2とD2のように「右隣」を参照する数式に書き換える
などの対応が必要になります。
前月比を数値でも見える化する:別列に%を表示
条件付き書式による色分けは直感的ですが、「どれくらい増えたのか」を把握するには数値の情報も欲しくなります。そこで、前月比(%)を表示する列を1列追加しておくと、分析の質がグッと上がります。
たとえば、「2月の列の右側に『前月比』列」を作り、セルD2に次のような式を入れます。
=IFERROR((C2 - B2) / B2, "")
この式の意味は次のとおりです。
(C2 - B2) / B2:前月から何%増えたか(減ったか)を計算IFERROR(..., ""):前月が空欄などで計算できないときは空欄を返す
この列の表示形式を「パーセンテージ(小数点1桁など)」にしておけば、単に「増えた/減った」だけではなく、
- 「今月は前月比 +5.0%」
- 「今月は前月比 -2.5%」
といった形で、ポートフォリオの変動率を具体的に把握できます。色と数字の両方でチェックできるようになるので、月次レポートを作るときにも便利です。
応用:銘柄単位ではなく「合計」や「資産クラス別」で色分けする
ここまでの手順は、1行=1銘柄を前提にしていました。しかし同じやり方で、
- 「日本株合計」「米国株合計」「債券合計」などの行
- 「全資産合計」の1行
に対しても前月比ハイライトを行うことができます。
やり方は簡単で、
- 合計行も含めた範囲(例:C2:Z105 など)をまとめて選択
- 同じ条件付き書式のルールを適用する
だけです。行ごとに数式を書き換える必要はありません。「左隣が前月」というレイアウトが守られていれば、どの行でも同じ式で判定可能です。
これにより、
- 「今月は米国株の合計がどれくらい動いたか」
- 「ポートフォリオ全体としては今月はプラスかマイナスか」
といったことが、ひと目で分かるようになります。
応用:別シートの前月データと比較したい場合の考え方
もう一歩進んだ応用として、「別シートに前月のスナップショットを保存しておき、それと比較したい」というケースがあります。
たとえば、
- シート名「2024_01」に1月末のデータ
- シート名「2024_02」に2月末のデータ
があり、2月のシート側で「1月の同じ銘柄と比較して色分けしたい」という場合です。
このときは、条件付き書式の数式を次のようなイメージで書きます。
=AND(
ISNUMBER(B2),
ISNUMBER('2024_01'!B2),
B2 > '2024_01'!B2
)
ここでは、
- 今月(2月)の評価額:B2
- 前月(1月)の評価額:
'2024_01'!B2
というように、別シートの同じセル位置を参照しています。シート名を固定するために $ を使う必要はありません(シート名自体はコピーしても変わらないため)。
このように、「前月が左隣にない」ケースでも、「今月セル」と「前月セル」を数式の中で対応付けてあげることで、同じような前月比ハイライトを実現できます。
まとめ:一度設定してしまえば、あとは入力するだけ
ここまでの内容を、最短手順として整理すると次のようになります。
- 表の構造を「A列=銘柄名、B列=1月、C列=2月…」のように、右方向に月が進むレイアウトにしておく
- 比較可能な最初の月(C列)から右端の月まで、C2:Z100 などをまとめて選択する
- 条件付き書式 → 新しいルール → 「数式を使用して、書式設定するセルを決定」から、次の数式を設定する
- 増(緑):
=AND(ISNUMBER(C2),ISNUMBER(B2),C2 > B2) - 減(赤):
=AND(ISNUMBER(C2),ISNUMBER(B2),C2 < B2) - 変化なし(黄):
=AND(ISNUMBER(C2),ISNUMBER(B2),C2 = B2)(任意)
- 増(緑):
- ルールの管理で、「適用先」が
=$C$2:$Z$100のように表全体を指していることを確認する - 可能であれば表をテーブル化(Ctrl + T)し、銘柄や月を追加してもルールが自動拡張されるようにしておく
これで、「評価額を入力するだけで前月比の増減が自動で色分けされる投資ポートフォリオシート」が完成します。毎月の更新時に、手作業で色を塗る時間とヒューマンエラーをまとめて削減し、より本質的な分析やリバランス検討に時間を使えるようになります。

コメント