財務モデリング中級読了約 2 分

OKR Google Sheetsテンプレート:5タブトラッカーの作り方(2026年)

Google Sheetsで5タブ連動OKRトラッカーをゼロから構築。数式・リアルタイムダッシュボード・テンプレート構成を90分以内に完成させる実践ガイド。

このガイドでは、CFOが30秒で内容を把握できる5タブのOKRトラッカーをGoogle Sheetsで構築する手順を解説します。ネット上に出回っているOKR Google Sheetsテンプレートの多くは、目標・ステータス・RAGインジケーターを手動で更新するだけの「豪華なチェックリスト」に過ぎません。このテンプレートは違います。実績値は単一のソースタブから自動取得され、進捗は自動集計され、ダッシュボードは自動で色分けされます。完成後は、すべての計画サイクルに複製できるOKRトラッカーテンプレートが手元に残ります。

必要なもの

  • Google Sheetsへのアクセス(プランは問わず)
  • 少なくとも1四半期分の確定済みOKRセット(目標+数値目標付きの主要成果)
  • クロスタブ参照と配列数式の基本的な操作経験
  • 集中した作業時間60〜90分

ステップバイステップ

1

OKRテンプレートのタブ構成を設計する

数式を一行も書く前に、タブのアーキテクチャを確定させてください。このモデルのすべての数式は、生データタブからダッシュボードへ一方向に流れます。そのため、構造を最初に正しく定める必要があります。

5つのタブは以下のとおりです:

タブ用途
Assumptions四半期日付・ウェイト設定・閾値
Objectives目標ごとに1行、担当者とウェイトを記載
Key Results主要成果ごとに1行、対応する目標にリンク
Actuals生の指標入力値 — 毎週編集する唯一のタブ
Dashboard自動集計されたサマリー、直接編集しない
  • Assumptionsタブには$B$3(四半期開始日)と$B$4(四半期終了日)を配置します。日付フィルターを使うすべての数式は、ハードコードした文字列ではなくこれらのセルを参照します
  • ObjectivesタブにはOBJ_ID(OBJ-01のようなテキストキー)・Owner・Weight・Calculated Score(入力値ではなく数式)の列を設けます
  • Key ResultsタブにはKR_ID・OBJ_ID(外部キー)・Target・Unit・Progress %(数式)の列を設けます
  • Actualsタブは人が数値を入力する唯一のタブです。それ以外のタブは誤編集を防ぐために保護してください
  • Dashboardタブは読み取り専用の出力タブです。数式を上書きされないよう、最初からロックしてください

Pro Tip

タブの見出しをタイプ別に色分けしてください。入力タブ(Actuals)は青、集計タブ(Dashboard)はグレー、参照タブ(Assumptions・Objectives・Key Results)は白にすると、「このタブは編集できると思っていた」というミスを防げます。
2

Assumptionsタブを構築する

すべての設定変数を1つのタブに集約します。年度途中でウェイトルールが変わっても、1つのセルを変更するだけで済み、40個の数式を修正する必要はありません。

Assumptionsタブを以下のように配置してください(1行目をヘッダーとして、2行目以降から開始):

B3: 2026-04-01   (Q2開始日)
B4: 2026-06-30   (Q2終了日)
B7: 0.70         (グリーン閾値 — KR進捗率≧70%=順調)
B8: 0.40         (レッド閾値 — KR進捗率<40%=要注意)
B11: TRUE        (WeightカラムでObjectivesをウェイト付けする)
  • 四半期開始・終了日(B3:B4)は、ActualsからデータをSUMIFSで取得するすべての日付フィルター式を制御します。1か所変更するだけで全体に反映されます
  • 閾値(B7:B8)はDashboardのRAGロジックを動かします。0.70と0.40は標準的なデフォルト値ですが、自社の許容範囲に合わせて調整してください
  • ウェイト切替(B11)で、重み付きスコアリングと等ウェイトスコアリングを切り替えられます。等ウェイトの方が見やすい取締役会プレゼンで役立ちます
  • 主要なセルに名前を付けてください:QtrStart・QtrEnd・GreenThreshold・RedThreshold — 名前付き範囲にすることで数式が読みやすくなり、列を挿入しても壊れません

Pro Tip

TODAY()を参照するLastUpdatedセルを追加し、目立つようにフォーマットしてください。2か月後にファイルを開いたとき、データが古くなっていないかすぐに分かります。
3

ObjectivesタブとKey Resultsタブにデータを入力する

この2つのタブはデータディクショナリの役割を果たします。目標と主要成果の関係(1対多)が、ステップ5の集計を可能にします。

Objectivesタブ — 目標ごとに1行:

A2: OBJ-01
B2: エンタープライズ領域の拡大
C2: 山田 太郎
D2: 0.40           (ウェイト — すべての目標のウェイトの合計は1.0になるようにする)
E2: =AVERAGEIFS('Key Results'!F:F,'Key Results'!B:B,A2)

E列は入力値ではなく数式です。その目標に属するすべての主要成果の進捗率を平均します。

Key Resultsタブ — 主要成果ごとに1行:

A2: KR-01
B2: OBJ-01         (Objectivesタブへのリンク)
C2: ネット売上継続率(NRR)
D2: 1.10           (目標:NRR 110%)
E2: %
F2: =IFERROR(SUMIFS(Actuals!C:C,Actuals!A:A,A2,Actuals!B:B,">="&QtrStart,Actuals!B:B,"<="&QtrEnd)/D2,"-")
  • A列のKR_IDは結合キーです。ActualsはKRの説明文ではなくこのIDを参照するため、目標テキストを書き換えても数式が壊れません
  • Target(D列)には生の数値目標を格納します。F列の数式が実績値を目標値で割り、進捗率を小数で算出します
  • Unit(E列)は表示専用です。Dashboardでセルをパーセント・円(¥)・倍率(x)のどれで表示するかをこの列で判断します
  • 目標は元の単位で格納してください。目標が4,200万円のARRであれば42000000と入力し、単位を混在させないでください。単位の混在はSUMIFSを壊します

Pro Tip

両タブの1行目を固定し、Key ResultsのOBJ_ID列にデータバリデーションを追加して、有効な目標IDのみ入力できるようにしてください。外部キーのタイポはエラーではなく、サイレントな誤答を生み出します。
4

Actualsタブを設定する

ActualsはこのOKRトラッカーテンプレートで唯一、数値を手入力するタブです。他のすべてのタブはここからデータを読み取ります。

構造:1行=1計測イベント。NRRの週次計測は1行、月次パイプライン確認は1行。集計する前にデータを格納してください。

A2: KR-01          (KR_ID — Key Resultsタブと一致)
B2: 2026-05-15     (計測日)
C2: 1.08           (実績値 — 例:NRR 108%を小数で)
D2: Q2 2026        (フィルタリング用の任意の期間ラベル)

Key ResultsタブのF列の数式は次のように読み取ります:

=IFERROR(
  SUMIFS(Actuals!C:C, Actuals!A:A, 'Key Results'!A2,
         Actuals!B:B, ">=" & QtrStart,
         Actuals!B:B, "<=" & QtrEnd)
  / 'Key Results'!D2,
"-")
  • 1つのKRに複数行のActualsがあっても問題ありません。SUMIFSが四半期全体を合算するため、週次のパイプライン入力は正しく累積されます
  • QtrStart/QtrEndによる日付フィルタリングにより、1シートに年間の実績値をすべて格納でき、数式がアクティブな四半期のデータに自動でフィルタリングされます
  • Actualsの行は削除しないでください — 過去のトレンドチャートが壊れます。アーカイブが必要な場合は別タブに移してください
  • A列とB列をデータバリデーションで保護してください:KR_IDはKey ResultsのA列に存在するもの、日付は適切な範囲内に限定します

Pro Tip

Source列(E列)を追加して、入力者がデータの出所(Salesforce・会計システム・手動集計など)を記録できるようにしてください。取締役会で数値が問われたとき、監査証跡は非常に重要です。
5

OKRダッシュボードを構築する

Dashboardは、直属チーム以外の人が見る唯一のタブです。他のすべてのタブから読み取り、直接編集することはありません。

加重目標スコア(メインの数値):

=SUMPRODUCT(
  (Objectives!A2:A10<>"") *
  Objectives!D2:D10 *
  Objectives!E2:E10
)

各目標のウェイトと算出スコアを掛け合わせて合計します。目標のウェイトが均等でない場合、これが真の複合スコアになります。

KRごとの進捗行 — 各KRに対してこのパターンを繰り返します:

KRラベル:         ='Key Results'!C2
目標値:           ='Key Results'!D2
実績値:           =SUMIFS(Actuals!C:C,Actuals!A:A,'Key Results'!A2,Actuals!B:B,">="&QtrStart,Actuals!B:B,"<="&QtrEnd)
進捗率:           ='Key Results'!F2
RAGステータス:    =IF('Key Results'!F2>=GreenThreshold,"🟢",IF('Key Results'!F2>=RedThreshold,"🟡","🔴"))

進捗率列の条件付き書式ルール:

ルール書式
値 >= GreenThreshold(0.70)緑塗りつぶし
値 >= RedThreshold(0.40)黄塗りつぶし
値 < RedThreshold(0.40)赤塗りつぶし

2026年6月現在、Google Sheetsの条件付き書式ルールで名前付き範囲がサポートされています。ハードコードした値の代わりにGreenThresholdとRedThresholdを直接使用することで、閾値変更が自動的に全体へ反映されます。

  • 上部にサマリーブロックを設けてください:複合スコア・順調なKR数(≧70%)・要注意KR数(<40%)・QtrEndから取得した四半期末日
  • 必要に応じてパイプラインカバレッジ比率を追加してください:=SUMIFS(Actuals!C:C,...) / Objectives!D2 を小数点1桁でフォーマット(例:目標3.2xに対して実績2.9x)
  • 複合スコアは大きく太字のパーセント表示にしてください。CFOが最初に確認する数値なので、見落とさないようにします
  • ="最終更新:"&TEXT(MAX(Actuals!B:B),"yyyy年m月d日") を追加してデータの最終更新日を表示すると、ダッシュボードのデータが古い場合にすぐ分かります

Pro Tip

Dashboardタブを「📊 Dashboard」、Actualsタブを「📥 Actuals」と名付けてください。絵文字プレフィックスによってタブの用途が一目で分かり、タブが視覚的にタイプ別に整理されます。
6

トレンドとギャップ分析のOKRテンプレート数式を追加する

静的なスナップショットだけでは四半期の取締役会資料として不十分です。現在地だけでなく、方向性を示す必要があります。

前四半期比NRRトレンド(前四半期の実績値が同じActualsタブに期間ラベル付きで存在する場合):

=SUMIFS('Actuals'!C:C,
        'Actuals'!A:A, "KR-01",
        'Actuals'!D:D, "Q1 2026")
/ SUMIFS('Actuals'!C:C,
         'Actuals'!A:A, "KR-01",
         'Actuals'!D:D, "Q2 2026") - 1

目標へのギャップ — 目標まで何単位不足しているか:

='Key Results'!D2 - SUMIFS(Actuals!C:C, Actuals!A:A, 'Key Results'!A2,
  Actuals!B:B, ">=" & QtrStart, Actuals!B:B, "<=" & QtrEnd)

粗利益率トラッキング(KRの1つが利益率目標である場合):

=SUMIFS('P&L'!C:C,'P&L'!B:B,">="&QtrStart,'P&L'!B:B,"<="&QtrEnd)
/ SUMIFS('P&L'!D:D,'P&L'!B:B,">="&QtrStart,'P&L'!B:B,"<="&QtrEnd)

粗利益率66.2%の目標に対して、このような数式を使えば目標とのギャップをリアルタイムで把握でき、手動での更新が不要になります。

  • 各KRにスパークラインを追加してください:=SPARKLINE(Actuals!C2:C52, {"charttype","line";"color","#1a73e8"}) — 1つのセルに収まり、グラフオブジェクトなしでトレンドの方向性を示せます
  • ギャップ列に条件付き書式を設定してください:ギャップが目標の20%超なら赤、10〜20%なら黄、それ以外は緑
  • 残り稼働週数セルを追加してください:=NETWORKDAYS(TODAY(), QtrEnd) — 残り稼働日が6週間か12週間かで、進捗率60%の深刻度は大きく変わります

Pro Tip

KR表示用の「テンプレート行」を1行作成して — すべての数式とフォーマットを設定した上で — 15行複製してください。新しいKRを追加するときはA列のKR_IDを書き換えるだけで済みます。行の高さと列幅を統一しておくと、ダッシュボードを調整なしで印刷できます。
7

OKRテンプレートを保護・共有・バージョン管理する

誰でも誤って壊せるモデルはモデルではなく、リスクです。

シートの保護 — 直ちに以下を設定してください:

  • Actuals:データ入力チームのみA〜D列を編集可能にします。新しい行の追加には制限を設けません(行の追加が必要なため)
  • Dashboard・Objectives・Key Results・Assumptions:全セルを保護し、モデルのオーナー3〜5名の例外リストを作成します
  • ファイルレベルの共有設定ではなく、ツール > シートと範囲を保護 を使用してください。これらは独立した制御です
  • 自明でない数式にはコメントを残してください — ヘルパー列ではなく 挿入 > メモ を使用します。メモは数式の範囲を壊しません
  • 取締役会配布用にはDashboardタブのみ共有してください:ファイル > 共有 > フィルタリングされたビューを公開する。ワークブック全体ではありません
  • Assumptionsタブ上のバージョン文字列を格納するセルをModelVersionという名前付き範囲として作成し、Dashboardフッターで参照します。これにより、すべての印刷物にバージョンが自己識別されます

Pro Tip

Actualsタブの操作手順を記載した「データ入力ガイド」の非表示シートを追加してください。各列に何を入力するか、KR_IDの正確なフォーマット、四半期途中で指標が追加された場合の対応方法などを記載します。3か月目にデータを入力する担当者は、モデルを構築した担当者と異なる可能性があります。

まとめ

完成したのは本格的なOKRトラッカーテンプレートです。実績値が数式を通じて自動的に集計され、ダッシュボードが自動更新され、唯一の手作業はActualsへの新しい計測値の入力だけです。複合進捗率86%・NRR実績108%・パイプラインカバレッジが目標3.2xに対して2.9x — ダッシュボードは、会議中に誰かがスプレッドシートを解説しなくても、そのままストーリーを語ります。

このモデルの今後の主なメンテナンスコストは、Actualsを最新の状態に保つことです。ここで自動化が真価を発揮します。ModelMonkeyのプランを選ぶ — Google SheetsとExcelの両方で動作し、HubSpot・Stripe・Google Analyticsからの最新指標をスケジュールに従って直接Actualsタブに取り込むことができます。

よくある質問

Google SheetsのOKRテンプレートで、目標ごとに主要成果はいくつ設定すべきですか?

このテンプレート構成では、目標ごとに3〜5件のKRが実用的な上限です。5件を超えると、ObjectivesタブのAVERAGEIFS数式がノイズを平均化し始め、ダッシュボードも1画面に収まらないほど長くなります。目標に本当に8つの測定可能なアウトカムがある場合は、2つの目標に分割してください。

このOKRトラッカーテンプレートは複数のチームや部門に対応できますか?

はい。ObjectivesタブとKey Resultsタブの両方に`Owner`または`Team`列を追加し、SUMIFS数式にその列をフィルター条件として加えてください。Dashboardでは、同じActualsデータを使って全社の複合スコアとチーム別の内訳を表示できます。チームでフィルタリングしたSUMPRODUCTが最もスッキリした実装方法です。

顧客解約率のように「低いほど良い」目標を持つKRはどう扱いますか?

目標と実績を生の値で格納してください(例:目標=0.05、実績=0.03で解約率3%)。進捗率の数式を`actual / target`ではなく`1 - (actual / target)`に変更します。実績が目標を下回るKRは進捗率100%超として表示されるべきであり、100%未満と表示されるべきではありません。モデルを監査する誰もが分岐ロジックを把握できるよう、これらのKRにはヘルパー列でフラグを立ててください。

四半期途中で追加されたKRを正しく処理するにはどうすればよいですか?

新しいKRをKey Resultsタブに追加し、任意の`KR_Start`列に開始日を入力してください。Key ResultsのSUMIFSに`Actuals!B:B >= KR_Start`のフィルターを追加して、KR開始前の実績値が計測に含まれないようにします。目標値を遡って修正する必要はありません。13週の四半期の第8週に追加されたKRは、目標値を按分するか、Ownerフィールドに「部分四半期」と記載するだけで十分です。

Google SheetsのテンプレートギャラリーにあるOKRテンプレートとの違いは何ですか?

Googleの組み込みOKRテンプレートは、手動ステータスのドロップダウンを使う単一タブのレイアウトです。数式で実績値を目標値にリンクせず、加重複合スコアへの集計もなく、日付範囲によるフィルタリングもありません。このガイドの5タブ構成は、タスク管理ツールよりも軽量な財務モデルに近いものです。感覚的に更新するリストではなく、取締役会で説明責任を果たせる数値を生み出します。