【n8n×Google Sheets】最新の為替レートを毎日自動更新する方法を解説

n8nとGoogle Sheetsを連携し、日々の為替レート取得を自動化する構築手順を解説します。初心者が躓きやすいGCPの認証設定やAPI連携の方法も、ステップバイステップで図解します。手動入力を減らし、正確なデータ管理を実現したい方は、本記事の設定ガイドをぜひお役立てください。

日々の業務において、為替レートの確認や記録を手作業で行ってはいないでしょうか。「毎日決まった時間にWebサイトを確認し、数値をコピーしてExcelやスプレッドシートに貼り付ける」こうした単純作業は、積み重なると意外なほど多くの時間を奪いかねません。

本記事では、ワークフロー自動化ツール「n8n」を活用し、米ドル基準の為替レートを自動で取得してGoogleスプレッドシートに記録する仕組みの構築手順を解説します。

エンジニアでなくとも設定できるよう、専門用語の使用を抑え、一つひとつの手順を丁寧に紐解いていきます。本記事を読み進めながら設定を行えば、明日からは為替データの管理が自動化され、より創造的な業務に時間を割けるようになるでしょう。

n8nとGoogle Sheets連携で実現できる「為替管理自動化」とは

n8n(エヌエイトエヌ)は、さまざまなアプリケーションやWebサービスを連携させ、データの処理を自動化するツールです。ノードと呼ばれるアイコンを線でつなぐ直感的な操作により、プログラミングの知識がなくてもシステムを構築できるのが特徴です。

今回作成する自動化の仕組みは、非常にシンプルです。

  • Schedule Trigger(スケジュールの実行):毎日決まった時間(例:朝9時)にシステムを起動させる
  • HTTP Request(データの取得):為替情報を提供しているWeb上のサービス(API)から、最新のレート情報を取得する
  • Googleスプレッドシート(データの保存):取得したデータを、指定したスプレッドシートの新しい行に自動で追記する

この3つのステップを連携させることで、人の手を介さずに最新のデータを蓄積し続けることが可能になります。

なぜ「n8n」で自動化するのか?

同様の自動化は、Zapier(ザピアー)やMake(旧Integromat)といった他のノーコードツールでも実現が可能です。しかし、あえてn8nを選択する理由には、以下の点が挙げられます。

まずはコストパフォーマンスの高さです。n8nは、セルフホスト(自分のサーバーで運用)する場合、基本機能を無料で使用できます。クラウド版を利用する場合でも、実行回数に対するコストが比較的抑えられている傾向にあります。

次に柔軟なデータ処理能力です。外部のAPIから取得したデータ(JSON形式)を、柔軟に加工・抽出できる機能が充実しています。特定の為替ペアだけを抽出したり、日付の形式を日本式に変換したりといった処理が、視覚的な操作で行えます。

【事前準備】n8nとGoogle Cloud(GCP) との連携設定

Googleスプレッドシートを外部ツール(n8n)から操作するためには、Google Cloud(GCP)側で「APIの有効化」と「認証情報(Credential)の作成」を行う必要があります。

ここは設定手順の中で少々複雑に感じられる部分かもしれませんが、一度設定してしまえば他のGoogleサービス連携にも応用が効きます。焦らず順を追って進めていきましょう。

1.Google Cloudでのプロジェクト作成とAPI有効化

まずは、Google Cloud Consoleにアクセスし、自動化専用のプロジェクトを作成します。

  1. Google Cloud Consoleにログイン
  2. 画面左上のプロジェクト選択リストから「新しいプロジェクト」をクリック
  3. プロジェクト名(例:n8n-automationなど)を入力し、「作成」ボタンを押す

プロジェクトが作成されたら、今回使用する「Google Sheets API」を有効化します。

  1. 左側のメニューから「APIとサービス」>「ライブラリ」を選択
  2. 検索バーに「Google Sheets API」と入力して検索
  3. 検索結果から「Google Sheets API」をクリックし、「有効にする」ボタンを押す

必須ではありませんが、もし今後Googleドライブ内のファイルを操作する可能性がある場合は、同様の手順で「Google Drive API」も有効化しておくとスムーズです。

2. 認証情報(OAuth2.0クライアントID)の作成

次に、n8nがGoogleアカウントにアクセスするための許可証となる「OAuthクライアントID」を作成します。

  1. 「APIとサービス」>「OAuth同意画面」を選択
  2. User Type(ユーザーの種類)で「外部」を選択し、「作成」をクリック

Google Workspaceを利用している組織内であれば「内部」を選択する場合もあります)

  1. アプリ名(例:n8n)、ユーザーサポートメール、デベロッパーの連絡先情報を入力して保存
  2. 「スコープ」の設定画面では、「範囲を追加または削除」をクリックし、../auth/spreadsheets(Googleスプレッドシートの表示・編集・作成・削除)にチェックを入れて更新・保存
  3. 「テストユーザー」の画面で、ご自身のGoogleアカウント(Gmailアドレス)を追加。認証時にエラーが発生する場合もあるため注意が必要です。

続いて、「認証情報」を作成します。

  1. 左側メニューの「認証情報」をクリックし、「+認証情報を作成」>「OAuthクライアントID」を選択
  2. アプリケーションの種類で「ウェブアプリケーション」を選択
  3. 名前にわかりやすい名称(例:n8n Client)を入力
  4. ここで重要なのが「承認済みのリダイレクトURI」の設定です。

n8n側の認証設定画面に表示されるURLを入力する必要があります。一旦、別タブでn8nを開き、Credentials(認証情報)の新規作成画面で「Google Sheets OAuth2 API」を選択すると、「OAuth Redirect URL」が表示されます。これをコピーして、GCP側のリダイレクトURIに貼り付けます。

  1. 「作成」をクリックすると、「クライアントID」と「クライアントシークレット」が表示されます。これらは後ほど使用するため、メモ帳などに控えておくか、画面を開いたままにしておきます。

3.n8n側でのCredential(認証情報)登録

取得したキー情報をn8nに入力し、接続を確立します。

  1. n8nの画面に戻り、先ほど開いていたGoogleスプレッドシートのCredential設定画面を表示
  2. 「Client ID」と「Client Secret」の欄に、GCPで取得した値をそれぞれ貼り付け
  3. 「Sign in with Google」ボタンをクリック
  4. Googleのログイン画面が表示されるので、対象のアカウントを選択し、アクセスの許可(リクエストの承認)を行う
  5. 「Connected」と表示されれば、連携設定は完了

【実践】為替レート自動取得ワークフローの作成手順

ここからは、n8nのキャンバス上でノードを配置し、自動化の仕組みを構築していきます。作成するワークフローは、「指定時刻に起動」「為替APIからデータを取得」「スプレッドシートに記録」というシンプルな3ステップで完結します。複雑なコード記述は不要です。一つひとつ手順を解説しますので、画面を見ながら設定を進めていきましょう。

Step1.Google Sheetsの準備

まずは、データの保存先となるスプレッドシートを用意します。

  1. Googleドライブで「新規」>「Googleスプレッドシート」を作成
  2. ファイル名を「為替レート管理」など、分かりやすい名前に変更
  3. 1行目(ヘッダー行)に、以下の項目名を入力

A1セル:日付

B1セル:USD/JPY(ドル円)

C1セル:USD/EUR(ドルユーロ)

※必要に応じて他の通貨ペアのカラムも作成してください。

n8nはこのヘッダー行を読み取り、どの列にどのデータを入れるかを判断します。そのため、ヘッダーの準備は必須となります。

Step2.Schedule Triggerノードの設定(定期実行)

n8nのワークフローキャンバスを開き、最初のノードを設定します。

画面右上の「+」ボタンからノード一覧を開き、「Schedule Trigger」を検索して追加します。

  1. 「Trigger Interval」を「Days」に設定
  2. 「Days Between Triggers」を「1」に設定
  3. 「Trigger at Hour」や「Trigger at Minute」で、実行したい時刻(例:9時00分)を指定

これで、毎日指定した時刻に自動的に処理が開始されるようになります。

Step3.HTTP Requestノードで為替データを取得

次に、外部の為替データAPIから情報を取得する設定を行います。今回は、各制限がありながらも登録不要かつ無料で利用できる「ExchangeRate-API」を例として解説します(※実運用では、信頼性や利用制限などを考慮し、適切なAPIサービスを選定してください)。

  1. 「+」ボタンから「HTTP Request」ノードを追加し、Schedule Triggerノードと線でつなぐ
  2. 「Method」は「GET」のまま
  3. 「URL」に、APIのエンドポイントを入力

このURLは、米ドル(USD)を基準とした最新レートを取得するためのもの

  1. 画面上部の「Execute Node」ボタンをクリックし、テスト実行
  2. 成功すると、画面右側に取得結果(JSONデータ)が表示されます。ratesという項目の中に、JPY:150.xxのような数値が含まれていることを確認してください。

Step4.Google Sheetsノードでデータを書き込む

最後に、取得したデータをスプレッドシートに書き込みます。

  1. 「+」ボタンから「Google Sheets」ノードを追加し、HTTP Requestノードとつなぐ
  2. 「Credential to connect with」で、先ほど作成したGoogleアカウントの認証情報を選択
  3. 「Resource」は「Sheet」または「Sheet in Document、「Operation」は「Append Row(行の追加)」を選択
  4. 「Spreadsheet ID」または「Document」の欄で、Step1で作成した「為替レート管理」シートを選択します(リストから検索するか、URLに含まれるIDを直接入力)。
  5. 「Sheet Name」を選択(通常はSheet1)
  6. 「Data to Send」の設定を行います。ここで「Mapping」機能を使用する

①日付カラム:n8nには現在時刻を取得する機能があります。入力欄の横にある歯車アイコンや式エディタを使用し、{{ $now }} や {{ $now.toFormat(‘yyyy/LL/dd’) }}といった変数を設定

②USD/JPYカラム:前のノード(HTTP Request)の出力結果から、rates>JPYの値を指定します。

【参考】日付データのフォーマット調整について

APIから取得したデータやn8nの標準時刻($now)は、そのままでは「2025-11-26T09:00:00.000Z」のような形式になっている場合があります。スプレッドシート側で見やすくするために、n8n上でフォーマットを整えることが望ましいです。

調整するには複数の方法がありますが、Date&TimeノードをHTTP RequestノードとGoogle Sheetsノードの間に挟むことで、日付のフォーマットを整えることができます。あるいは、Google Sheetsノード内の式エディタで {{ $now.format(‘yyyy/MM/dd’) }} と記述し、「2025/11/26」の形式に変換することも可能です。

動作テストとエラーが出た時の対処法

画面上ですべてのノードがつながっていても、実際にデータを流してみると、認証エラーや項目のズレなど予期せぬ不具合が見つかるかもしれません。特に自動化システムは、エラーに気づかず放置してしまうリスクがあるため、初回の動作確認が命綱となります。システムに任せられるよう、ここで手動実行による厳密なテストを行いましょう。

手動実行(Test Workflow)で書き込みを確認する

画面下部にある「Execute Workflow」ボタンをクリックし、ワークフロー全体を実行してみましょう。

すべてのノードに緑色のチェックマークが付けば成功です。実際にGoogleスプレッドシートを開き、新しい行に日付と為替レートが正しく追記されているか確認してください。もし行が増えていれば、設定は正しく機能しています。

よくあるエラーと解決策

テスト実行時にエラーが表示される場合、以下の点を確認してください。

≪403 Forbidden/401 Unauthorizedエラー≫

  • GCP側で「Google Sheets API」が有効になっていない可能性があります。再度APIライブラリを確認してください。
  • 認証情報のスコープ設定で、スプレッドシートへのアクセス権限が含まれていない場合があります。

≪データが反映されない(空欄になる)≫

  • マッピングの設定が間違っている可能性があります。前のノードの出力データ構造が変わっていないか、ドラッグ&ドロップが正しく行われているかを確認しましょう。
  • スプレッドシートのヘッダー名と、n8n側で指定しているカラム名が一致しているか再確認してください。

【応用編】さらに便利に使いこなすアイデア

ここまでの手順で、毎日の為替レートを自動記録する基盤は完成しました。しかし、n8nの真価は「連携の自由度」にあります。単にデータを貯めるだけでなく、その情報をトリガーにしてチャットツールへ通知を送ったり、より堅牢なデータベースへバックアップしたりと、業務フローに合わせて機能を拡張していくことも可能です。ここでは、さらに一歩進んだ活用アイデアをいくつかご紹介します。

SlackやLINEへ通知を送る

レートを記録するだけでなく、その日のレートをスマートフォンで受け取れると便利です。Google Sheetsノードの後ろに、「Slack」や「LINE」ノードを接続することで、取得したレートをメッセージとして送信できます。

「もし前日比で1円以上円安になった場合のみ通知する」といった条件分岐(Ifノード)を組み込めば、重要な変動を見逃さないアラートシステムとしても活用できるでしょう。

取得したデータをデータベース(MySQL等)にも保存する

スプレッドシートは手軽で視認性に優れていますが、データ量が数万行を超えると動作が重くなりかねません。長期的なデータ蓄積を考えるなら、MySQLやPostgreSQLなどのデータベースにも同時に保存しておくと、将来的なデータ分析やBIツールとの連携がスムーズになります。

まとめ|n8nとGoogle Sheetsを活用して為替データの管理を自動化しよう

n8nとGoogleスプレッドシートを連携させることで、為替レートの記録という単純作業から解放されます。一度仕組みを構築してしまえば、システムが毎日休まずデータを蓄積し続けてくれるため、長期的に見て資産となるでしょう。

今回の設定手順で触れた「APIからのデータ取得」や「スプレッドシートへの書き込み」は、為替レートに限らず、株価情報の取得・天気予報の記録・SNSのフォロワー数推移の記録など、さまざまな用途に応用が可能です。

まずはこのワークフローの作成を通じて自動化の第一歩を踏み出し、業務効率化の可能性を広げてみてはいかがでしょうか。

CONTACT

株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。

  • コンサルティング対応
    コンサルティング
  • 内製化支援・人材紹介・派遣対応
    内製化支援・人材紹介・派遣
  • 受託開発対応
    受託開発

幅広い支援が可能ですので、
ぜひお気軽にご相談ください!