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エクスポートで手動同期する方法
- Todoistでタスク一覧をCSVにエクスポートする
Todoistの設定メニューから「エクスポート」を選び、形式をCSVにしてダウンロードします。このとき、全プロジェクトを含めるか、特定のプロジェクトだけにするかを選択できます。 - スプレッドシートにCSVファイルを読み込む
Googleスプレッドシートを開き、[ファイル]→[インポート]を選択します。アップロードしたCSVファイルを「新しいシートを作成」または「現在のシートに置き換え」で取り込みます。 - データ範囲を確認してシート名を変更する
インポート後、列の並びやデータ型が正しいか確認します。必要に応じてシート名をわかりやすい名前に変更します。
2. Apps Scriptを使った自動同期の方法
- Todoist APIトークンを取得する
Todoistの設定画面から「統合」タブを開き、APIトークンをコピーします。このトークンはスクリプトからTodoistにアクセスするために必要です。 - Google Apps Scriptでコードを書く
スプレッドシートの[拡張機能]→[Apps Script]を開きます。次のコードを記述してプロジェクトを保存します。このコードは、TodoistのAPIからタスクを取得し、スプレッドシートに書き込みます。 - トリガーを設定して定期的に実行する
Apps Scriptのエディタで時計アイコンをクリックし、「トリガーを追加」します。時間ベースのトリガー(例:1時間ごと)を選択して、自動実行を設定します。
以下は、同じトリガーの設定方法を詳しく説明したものです。
● トリガーを追加する際、実行する関数は「syncTodoistTasks」などと指定します。
● エラーが発生した場合に備えて、ログ出力を追加しておくと便利です。
3. サードパーティツール(Zapier)を使う方法
- ZapierにTodoistとGoogleスプレッドシートを接続する
Zapierのアカウントを作成し、「Zap」を作成します。トリガーを「Todoistの新規タスク」、アクションを「Googleスプレッドシートの行を追加」に設定します。 - フィールドマッピングを設定する
タスクのタイトル、期限日、プロジェクト名などをスプレッドシートの対応する列にマッピングします。 - Zapを有効にしてテストする
Zapを有効にし、Todoistで新しいタスクを作成して、スプレッドシートに自動追加されるかテストします。
同期したデータを集計するテクニック
QUERY関数でプロジェクト別に集計する
同期したデータに、プロジェクト名列とタスク数などの列があるとします。QUERY関数を使えば、特定のプロジェクトのタスクだけを抽出できます。例えば、次のような式を使います。
- プロジェクト名でフィルタする
=QUERY(A:C,”SELECT A, B WHERE C = ‘仕事'”) と記述します。これで、C列が「仕事」の行だけが抽出されます。 - 期限日が今日以降のタスクを抽出する
=QUERY(A:C,”SELECT A, B WHERE B >= DATE ‘”&TEXT(TODAY(),”yyyy-mm-dd”)&”‘”) のようにします。
ピボットテーブルで日付別に集計する
データメニューからピボットテーブルを挿入します。行に「期限日」、列に「プロジェクト名」、値に「タスク名のカウント」を設定すると、日付とプロジェクトごとのタスク数が集計できます。
COUNTIFとSUMIFでカスタム集計する
- 完了タスクの数を数える
=COUNTIF(D:D,”完了”) で完了タスクの件数を調べます。 - 期限日が今月のタスクを集計する
=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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
