結論から先に
NotionにはGoogle スプレッドシートとのネイティブ連携がありません。目的から逆算して選ぶのが近道です。
眺めるだけなら埋め込み、1回だけ移すならCSVインポート、増える行を流し込むならZapierやMake、Yoomのレシピ、自分で書くならGAS、どちらの側も編集するなら双方向同期です。
つまずきやすいのはインポートです。Notionのヘルプにも、インポートは行を追加するだけで既存の行は更新しないと明記されています。2回実行すれば、同じデータが2セット並びます。
スプレッドシートは、たいてい誰も手放したがらないものです。数式は信頼されていて、取引先も上司も、どのセルを見ればいいかをすでに知っています。日本語では「スプシ」と略されるあのシートです。
一方、仕事そのものはNotionで進みます。要件も、タスクも、議事録も、月曜に全員が確認するステータスもそこにあります。
ですから問われているのは、どちらが優れているかではありません。2つをどこまで一致させる必要があるのか、です。以下の5つは、どこまで揃えられるかがまったく違います。
NotionはGoogle スプレッドシートと連携できますか?
単体ではできません。NotionができるのはCSVを1回読み込むことだけで、Google スプレッドシート側にもNotion用のコネクタはありません。継続的につなぐ役割は、すべて間に入る第三者が担います。
先に押さえておきたいのがNotionのインポートです。接続のように見えて、接続ではありません。行を作るだけで、すでにある行と突き合わせることをしません。
Notionのヘルプも、インポートでは行が追加されて既存の行は更新されないため重複を確認するように、と書いています。来月もう一度同じシートを読み込めば、すべての行が2つになります。
5つの方法を比較
最初に見るべきは真ん中の列です。行を作るだけなら、どの方法でもできます。どの行がどのNotionページなのかを実行のたびに覚えているかどうか、コピーと同期を分けるのはそこです。
| 方法 | 方向 | 対応関係を覚えているか | 数式 | 料金 |
|---|---|---|---|---|
| 埋め込み | どちらでもない(表示のみ) | 何もコピーされない | シートに残る | 無料 |
| CSVインポート | シートからNotionへ、1回のみ | 覚えていない。再実行で重複 | 値として届く | 無料 |
| Zapier・Make・Yoom | レシピ1本につき一方向 | 覚えていない。自分で管理 | 値として届く | 無料プランあり、上位は有料 |
| GAS(自作スクリプト) | 書いた方向だけ | 自分で実装すれば覚える | 値として届く | 無料、ただし保守は自分 |
| 2sync | 双方向、列ごとに指定 | 覚えている。非表示のID列で対応 | Notionへ読み込み、上書きなし | 年払いで月$7から |
1. Notionのページにシートを埋め込む
いちばん手早く、そして思っているより出番の多い方法です。シートのリンクをNotionのページに貼り付けて「埋め込み」を選ぶか、/embedと入力します。スプレッドシートが窓のようにそのまま開きます。
コピーは一切発生しません。NotionはGoogleのシートを表示しているだけなので、数字が古くなることもなければ、揃える手間もありません。
できないことも、そこから決まります。データはNotionの中にないため、Notionのビューで絞り込むことも、ロールアップすることも、ほかのデータベースとリレーションでつなぐことも、ボードで見ることもできません。
埋め込みの中で編集するには、編集権限のあるGoogleアカウントでサインインしている必要があります。スマートフォンでは枠が窮屈になります。
参考資料としてのシートには、これで十分です。単価表、ほかの人が保守しているモデル、ときどき眺めるダッシュボードが当てはまります。
埋め込みは同期ではありません。Notionに置かれるのはシートへの窓であり、データベースにはなりません。並べ替え、フィルター、リレーションが必要な場面では足りません。
2. CSVで1回だけ取り込む
Google スプレッドシートでタブを.csvとして書き出し、Notionで設定→インポート→CSVと進みます。ページ内で/csvと入力しても同じ画面に行けます。列がプロパティに、行がページになります。
これは移行であって、接続ではありません。インポートは行を追加するだけで既存の行を更新しないため、2回目のインポートが1回目を複製します。ファイルの上限は無料プランで5MB、有料プランで50MBです。
数式は数式のまま残りません。Notionに入るのは、書き出した瞬間にそのセルが持っていた値です。リレーションとロールアップも、インポート後にNotion側で作り直すことになります。
文字化けしたときの直し方
日本語のCSVで最初に出るつまずきがこれです。Notionのインポートが読めるのはUTF-8で、Shift_JISで保存されたファイルは文字化けします。Notionのヘルプも、文字化けしたらUTF-8として書き出し直すように案内しています。
Google スプレッドシートから書き出したCSVはUTF-8なので、この問題は起きません。文字化けするのは、たいていExcelの「CSV(カンマ区切り)」で保存したファイルです。
直し方は2つあります。Excelで保存するときに「CSV UTF-8(コンマ区切り)」を選ぶか、そのファイルをいったんGoogle スプレッドシートで開いて、ファイル→ダウンロード→カンマ区切り形式(.csv)で書き出し直すことです。
日付も先に整えておくと安全です。Notionが読み込む形式はMM/DD/YYYYなので、2026/10/16のまま渡すとテキスト扱いになることがあります。
3. ZapierやMake、Yoomでレシピを組む
どのプラットフォームもGoogle スプレッドシートとNotionに対応していて、新しい行が増えてから数分以内に、その行をNotionデータベースへコピーします。
日本語で使えるYoomにも、「Notionにページが追加されたらスプレッドシートに行を追加」といったテンプレートが並んでいます。
レシピにできないのは、覚えておくことです。1回の実行はトリガーとアクションで完結し、あいだに残るものがありません。シートの48行目がどのNotionページと同じものなのか、記録している場所がどこにもないのです。
両側を揃え続けたければ、その台帳を自分で用意することになります。たいていは検索ステップと、手で保守するキー列です。
実際の運用はこうなります。
- 新しい行をNotionへはよく動きます。設定は10分ほどで終わります。
- 逆方向は、独自のマッピングを持つ2本目のレシピになります。2本を突き合わせる仕組みはありません。
- 削除はどちらで起きてもレシピには見えません。相手側はそのまま残ります。
- 編集は、まず相手を探すところから始まります。ここを軽く見積もりがちです。
- 無料プランでは、新しいデータの確認が15分おきになります。
シートが受け皿になっている場合、たとえばフォームの回答、見込み客のリスト、増える一方のログであれば、レシピで十分です。
プラットフォームそのものの比較は2syncとZapierの比較とNotion向けZapierの代替ツールにあります。双方向を掲げる海外のツールではUnitoもあり、対応アプリの広さが持ち味です。
4. GASで自分でつなぐ
Googleまわりの自動化を自分で書くなら、Google Apps Script(GAS)が標準の道具です。スプレッドシート側にスクリプトを置き、Notion APIを呼び、トリガーで定期的に実行します。
ここ数年で変わったのは、書き手です。コードを書かない人がChatGPTに頼んで動くものを手に入れ、そのまま使い続ける形が増えました。問題はそのあと、止まったときに直せる人が手元にいないことです。
スクリプト自体の壁も、思ったより早く来ます。
- 1回の実行は6分までです。行数が増えると途中で止まります(Google Apps Scriptの割り当て)。
- Notion APIの目安は1秒あたり3リクエストで、1回の取得は100件ずつです(Notion APIのリクエスト制限)。ページングは自分で書きます。
- リレーションのプロパティは素直に取れません。IDの解決も自分で実装することになります。
- 多くのスクリプトは上書きで実装されます。Notion側で消えた行が、シートに残り続けます。
- APIのバージョンが上がると止まります。直すのは書いた人です。
作るのに週末が1回、そのあとは保守が続きます。細かいところまで自分で決めたい人には最も自由な選択肢で、そうでない人にとっては設定ではなくプロジェクトです。
5. 2syncで双方向に同期する
両側が動いているときに選ぶ方法です。誰かがシートで単価を直し、別の誰かがNotionでステータスを動かす。お互いが相手の操作を知らなくても、結果は揃います。
2syncがつなぐのは1つのタブと1つのNotionデータベースです。列がプロパティに対応し、方向は列ごとに決めます。双方向、Notionへの一方向、スプレッドシートへの一方向の3つから選べます。
同期はプランに応じて2〜5分ごとに自動で走るため、こちらで実行する操作はありません。
行とページの対応をどう覚えているか
初回の同期で、2syncはタブの末尾に2sync IDという非表示かつ保護された列を追加し、同期した行すべてにIDを書き込みます。行とNotionページを結び付けているのは、このIDです。
位置でも名前でもなくIDで結ばれているため、並べ替えても、行を挿入しても、列を移動しても、ヘッダーの名前を変えてもつながりは切れません。レシピでは真似のできない部分で、日々の運用に耐えるのはこの仕組みがあるからです。
覚えておきたい副作用が2つあります。IDを消した行は新しい行とみなされ、Notionに2つ目のページが作られます。そしてタブの中で行を複製すると、非表示のIDも一緒に複製されるため、そのセルを空にするまでコピーは無視されます。
設定の手順
設定ウィザードは7ステップで、後半の4つは任意の設定と確認です。実際に手を動かすのは数分で、半日がかりの作業にはなりません。
まずシートを保存しているGoogleアカウントでサインインし、Choose a spreadsheet(スプレッドシートを選択)をクリックすると、Google ドライブの選択画面が開きます。
権限の範囲は意図的に狭く、2syncが開けるのはここで選んだスプレッドシートだけです。ドライブ全体を見に行くことはありません。
あとは同期するタブを選び、Notionを接続して対象のデータベースを指定するだけです。1つのオートメーションで扱えるのは1つのタブなので、2つ目のタブには2つ目のオートメーションを作ります。
丁寧に見ておきたいのは列のマッピングです。2syncがヘッダー行を読み、列ごとにプロパティタイプを提案します。
方向は1列ずつ指定できます。シートが持っている列はNotionへ流し込み、Notionで動かすステータスはシートへ返す、という組み方になります。
残りのステップでは、フィルター、既定値、同期設定、テスト実行を扱います。フィルターの条件に使えるのはNotionのプロパティなので、決まるのは「どのページがシートに出るか」で、「どの行がNotionに入るか」ではありません。
ウィザードを画面ごとに追いたい場合は、Google スプレッドシートの設定ガイドが全ステップを順に説明しています。
スプレッドシートに起きること
- 数式はそのまま動きます。 数式の列はNotionへ読み込まれるだけで書き戻されないため、計算はシートが続け、Notionは結果を受け取ります。
- Notionで作ったページは、タブの末尾に行として追加されます。
- タイトルのない行はスキップされます。 入力されるまで同期の対象になりません。
- セルを空にしても削除にはなりません。 非表示のIDが残っていれば、空の値への更新として同期されます。
- 削除は初期状態でオフです。 行を消してもNotionページは残り、Sync Status(同期状態)がRemovedになります。連動させるにはAllow row deletion(行の削除を許可)をオンにします。
- 同じ列が両側で変わったときは、Notionの値が優先されます。別々の列であれば、どちらの編集も残ります。
対応するプロパティタイプまで含めた一覧はGoogle スプレッドシートのフィールド一覧に、設定の詳細はGoogle スプレッドシートの設定ガイドにあります。
シートとNotionを同じ状態に保つ
1つのタブと1つのNotionデータベースをつなぎ、列ごとに方向を決めれば、数式はシートに置いたまま運用できます。
目的別の選び方
- とにかく見られればいい。 埋め込みです。保守するものがありません。
- スプレッドシートをたたむ。 CSVインポートを1回実行し、あとはNotionで進めます。
- シートは増える一方で、Notionは読むだけ。 ZapierやMake、Yoomのレシピです。
- 自分で書いて、自分で保守する前提がある。 GASです。
- 両側が編集される。 双方向同期です。どの行がどのページかを覚えているのは、5つのなかでこれだけです。
どこまで一致させたいかを先に決める
NotionとGoogle スプレッドシートの組み合わせがうまくいかないときは、たいていこの問いを飛ばしています。表示、1回きりの移行、一方向の流し込みは、どれも安くて確実です。目的が本当に表示や移行や流し込みであるかぎりは。
2人が2つの画面で同じものを編集し始めた瞬間から、必要になるのは対応関係の記録です。残りの4つは、もともとそれを引き受けていません。
そこまで決まれば、あとは列のマッピングだけです。
2syncはGoogle スプレッドシートとNotionを双方向でつなぎ、Google カレンダー、Outlook カレンダー、Todoist、Microsoft To Do、連絡先、メールも同じように同期します。
タスク側も整えるなら、NotionとMicrosoft To Doを同期する方法とNotionとTodoistを同期する方法が同じ仕組みで動きます。Notion側の構成全体はNotionのおすすめ連携にまとめています。
案件や売上をシートで回しているなら、NotionでパーソナルCRMを作るとフリーランスにおすすめのCRMが続きになります。
行を手で貼り直す作業を終わらせる
1つのタブと1つのNotionデータベースを、列ごとに方向を決めて双方向で同期します。14日間無料でお試しいただけます。
FAQ
スプレッドシートを統合するにはどうすればいいですか?
NotionとGoogle スプレッドシートの統合には5つの道があり、目的で分かれます。見るだけなら埋め込み、1回移すだけならCSVインポート、増える行を流し込むならZapierやMake、Yoomのレシピ、自分で書くならGAS、そして両側を揃え続けるなら双方向同期です。2syncのGoogle スプレッドシート連携は最後の1つにあたり、1つのタブと1つのNotionデータベースをつなぎ、列ごとに方向を決められます。
CSVファイルをインポートするにはどうすればよいですか?
Google スプレッドシートで「ファイル」→「ダウンロード」→「カンマ区切り形式(.csv)」と進んでタブを書き出し、Notionで「設定」→「インポート」→「CSV」の順に開いてアップロードします。ページ内で「/csv」と入力しても同じ画面に行けます。列がプロパティに、行がページになります。ファイルの上限は無料プランで5MB、有料プランで50MBです。インポートは行を追加するだけで既存の行を更新しないため、2回実行すると内容がそのまま重複します。
NotionでCSVファイルをインポートすると文字が化けてしまうのはなぜですか?
文字コードが原因です。NotionのCSVインポートが読めるのはUTF-8で、Shift_JISで保存されたファイルは文字化けします。Notionのヘルプも、化けた場合はUTF-8として書き出し直すよう案内しています。Excelの「CSV(カンマ区切り)」で保存するとShift_JISになりやすいので、「CSV UTF-8(コンマ区切り)」を選ぶか、そのファイルをGoogle スプレッドシートで開いてから書き出し直してください。Google スプレッドシートが書き出すCSVはUTF-8なので、そのままインポートできます。
NotionにCSVを取り込むとき、日付の形式はどうすればよいですか?
Notionが日付として読み込む形式は「MM/DD/YYYY」です。「2026/10/16」のような年始まりの表記は、日付ではなくテキストとして入ることがあります。書き出す前にスプレッドシート側で列の表示形式を揃えておくと確実です。なお2syncの同期では変換が要りません。日付列と日時列はNotionの日付プロパティとして届き、日時の場合はスプレッドシートの設定にあるタイムゾーンが使われます。
NotionでCSV出力するにはどうすればいいですか?
データベースを開き、右上の「•••」から「エクスポート」を選び、エクスポート形式で「Markdown & CSV」を指定します。CSVを含むZIPファイルがダウンロードされます。これも1回きりの書き出しなので、Notionでその後に加えた変更はファイルに反映されません。スプレッドシート側を常に最新にしておきたい場合は、書き出しではなく同期を使います。
スプレッドシートが同期されないのはなぜですか?
よくある原因は4つです。埋め込みを同期と思っている場合、それは表示なのでデータは動きません。CSVインポートの場合も、1回きりの取り込みなのでその後の変更は届きません。2syncを使っていて行が届かないときは、タイトルが空の行がスキップされていないか、1つのオートメーションの上限である10,000行を超えていないかを確認してください。行を消しても相手側が消えないのは仕様で、「Allow row deletion」(行の削除を許可)が初期状態でオフになっているためです。
複数のスプレッドシートを合体させる方法は?
Notionを集約先にすると、シートを1枚にまとめなくても済みます。2syncのオートメーションは1つにつき1タブを担当しますが、複数のオートメーションが同じNotionデータベースを共有できるため、別々のスプレッドシートのタブを1つのデータベースに集められます。どのタブから来た行かは、既定値の設定でNotionのプロパティに書き込んでおくと見分けられます。設定の手順はGoogle スプレッドシートの設定ガイドにあります。
画像出典:2sync


