ADVERTISEMENT

【Googleスプレッドシート】TodoistのタスクをSheetsに同期!個人タスクの集計

【Googleスプレッドシート】TodoistのタスクをSheetsに同期!個人タスクの集計
🛡️ 超解決

Todoistで日々のタスクを管理している方も多いでしょう。しかし、複数のプロジェクトや期限を横断して集計したい場合、スプレッドシートの方が便利なこともあります。本記事では、TodoistのタスクデータをGoogleスプレッドシートに同期する方法と、同期したデータをQUERY関数などで集計するテクニックを詳しく解説します。手動でのCSVインポートから、Apps Scriptを使った自動同期まで、目的に合わせて選べるようになります。

【要点】Todoistのタスクをスプレッドシートに同期して集計する3ステップ

  • TodoistのCSVエクスポートで手動インポート: タスク一覧をCSVファイルとして書き出し、スプレッドシートに取り込む最も簡単な方法です。
  • Apps Scriptのスクリプトで自動同期: Google Apps Scriptを使ってTodoist APIから直接データを取得し、定期的に更新できます。
  • QUERY関数とピボットテーブルで集計: 同期したデータをQUERY関数でプロジェクト別に抽出したり、ピボットテーブルで日付別に集計したりします。

ADVERTISEMENT

Todoistとスプレッドシートの連携が求められる理由

Todoistは個人のタスク管理に優れたツールですが、複数プロジェクトの進捗を俯瞰したり、完了タスクの統計を取ったりするにはスプレッドシートの方が適しています。スプレッドシートでは関数やピボットテーブルを使って柔軟にデータを加工できます。そのため、Todoistのデータを同期して、スプレッドシート上で集計・分析したいというニーズが生まれます。この記事では、手動でのCSVエクスポートと、Apps Scriptを使った自動同期の2つの方法を中心に紹介します。

Todoistのタスクをスプレッドシートに同期する3つの方法

1. CSVエクスポートで手動同期する方法

  1. Todoistでタスク一覧をCSVにエクスポートする
    Todoistの設定メニューから「エクスポート」を選び、形式をCSVにしてダウンロードします。このとき、全プロジェクトを含めるか、特定のプロジェクトだけにするかを選択できます。
  2. スプレッドシートにCSVファイルを読み込む
    Googleスプレッドシートを開き、[ファイル]→[インポート]を選択します。アップロードしたCSVファイルを「新しいシートを作成」または「現在のシートに置き換え」で取り込みます。
  3. データ範囲を確認してシート名を変更する
    インポート後、列の並びやデータ型が正しいか確認します。必要に応じてシート名をわかりやすい名前に変更します。

2. Apps Scriptを使った自動同期の方法

  1. Todoist APIトークンを取得する
    Todoistの設定画面から「統合」タブを開き、APIトークンをコピーします。このトークンはスクリプトからTodoistにアクセスするために必要です。
  2. Google Apps Scriptでコードを書く
    スプレッドシートの[拡張機能]→[Apps Script]を開きます。次のコードを記述してプロジェクトを保存します。このコードは、TodoistのAPIからタスクを取得し、スプレッドシートに書き込みます。
  3. トリガーを設定して定期的に実行する
    Apps Scriptのエディタで時計アイコンをクリックし、「トリガーを追加」します。時間ベースのトリガー(例:1時間ごと)を選択して、自動実行を設定します。

以下は、同じトリガーの設定方法を詳しく説明したものです。
● トリガーを追加する際、実行する関数は「syncTodoistTasks」などと指定します。
● エラーが発生した場合に備えて、ログ出力を追加しておくと便利です。

3. サードパーティツール(Zapier)を使う方法

  1. ZapierにTodoistとGoogleスプレッドシートを接続する
    Zapierのアカウントを作成し、「Zap」を作成します。トリガーを「Todoistの新規タスク」、アクションを「Googleスプレッドシートの行を追加」に設定します。
  2. フィールドマッピングを設定する
    タスクのタイトル、期限日、プロジェクト名などをスプレッドシートの対応する列にマッピングします。
  3. Zapを有効にしてテストする
    Zapを有効にし、Todoistで新しいタスクを作成して、スプレッドシートに自動追加されるかテストします。

同期したデータを集計するテクニック

QUERY関数でプロジェクト別に集計する

同期したデータに、プロジェクト名列とタスク数などの列があるとします。QUERY関数を使えば、特定のプロジェクトのタスクだけを抽出できます。例えば、次のような式を使います。

  1. プロジェクト名でフィルタする
    =QUERY(A:C,”SELECT A, B WHERE C = ‘仕事'”) と記述します。これで、C列が「仕事」の行だけが抽出されます。
  2. 期限日が今日以降のタスクを抽出する
    =QUERY(A:C,”SELECT A, B WHERE B >= DATE ‘”&TEXT(TODAY(),”yyyy-mm-dd”)&”‘”) のようにします。

ピボットテーブルで日付別に集計する

データメニューからピボットテーブルを挿入します。行に「期限日」、列に「プロジェクト名」、値に「タスク名のカウント」を設定すると、日付とプロジェクトごとのタスク数が集計できます。

COUNTIFとSUMIFでカスタム集計する

  1. 完了タスクの数を数える
    =COUNTIF(D:D,”完了”) で完了タスクの件数を調べます。
  2. 期限日が今月のタスクを集計する
    =SUMIFS(E:E,A:A,”>=”&DATE(2025,3,1),A:A,”<="&EOMONTH(DATE(2025,3,1),0)) などの応用です。

ADVERTISEMENT

同期と集計の注意点

CSVエクスポート時のデータ形式に注意する

Todoistのエクスポートでは、日付が「2025-03-15T12:00:00」のような形式で出力されることがあります。スプレッドシートで日付として認識されない場合は、DATEVALUE関数などで変換します。

Apps ScriptのAPI制限に注意する

Todoist APIには1分間あたりのリクエスト制限があります。大量のタスクを同期する場合は、スクリプト内で適度な遅延を入れる必要があります。

サードパーティツールのコストに注意する

Zapierなどのツールは無料プランでは月間のタスク数やZap数に制限があります。個人利用の範囲に収まるか事前に確認しましょう。

各同期方法の比較

方法 手間 自動更新 コスト 推奨用途
CSVエクスポート手動 毎回手動 不可 無料 一度だけの集計
Apps Script自動同期 初期設定 可能 無料 定期的な同期
Zapierなど 簡単 可能 無料~有料 初心者向け

まとめ

本記事では、TodoistのタスクをGoogleスプレッドシートに同期する方法として、CSVエクスポート、Apps Script、Zapierの3つを紹介しました。また、同期したデータをQUERY関数やピボットテーブルで集計するテクニックも説明しました。初期設定を一度行えば、Apps Scriptを使った自動同期が最も手間がかかりません。ぜひ自分に合った方法で、Todoistのタスクデータをスプレッドシートで活用してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。