データの力を引き出す — AIクレンジングから分析まで
SECTION 11
Garbage In, Garbage Out
汚いデータを入れれば、汚い結果しか出てこない。
不正確なデータに基づくレポートが誤った経営判断を招く
顧客名の表記ゆれで請求書を再発行、住所間違いで再配送
Gemini APIに汚いデータを渡しても正確な分析は不可能
データの品質が低いと、組織全体でデータ活用が進まなくなる
SECTION 11
データクレンジングとは、データセットから誤り・不整合・重複を検出し修正するプロセスです。
同一レコードの重複を検出・統合(名寄せ)
「(株)」と「株式会社」、全角/半角の統一
空欄のデータを補完または除外
明らかに範囲外のデータを検出・修正
日付形式、電話番号形式の統一
メールアドレス・郵便番号の形式チェック
SECTION 11
SECTION 11
| 元データ | 正規化後 |
|---|---|
| 東京都港区六本木1-2-3 | 東京都港区六本木一丁目2番3号 |
| 東京 港区 六本木 1丁目2-3 | 東京都港区六本木一丁目2番3号 |
| トウキョウト ミナトク | 東京都港区 |
| 田中太郎 | 田中 太郎(タナカ タロウ) |
| たなか たろう | 田中 太郎(タナカ タロウ) |
SECTION 11
| 回答テキスト | AI分類結果 |
|---|---|
| 「価格が高すぎる」 | 価格 |
| 「サポートの対応が遅い」 | サポート |
| 「機能が充実していて使いやすい」 | 機能 |
| 「UIが分かりにくい」 | UI/UX |
| 「配送が早くて助かった」 | 配送 |
=AI_SUMMARIZE(A1) のようなカスタム関数をGASで実現
SECTION 11 — AI関数
GASで定義した関数をスプレッドシートのセルから =関数名(引数) の形式で直接呼び出せます。
=AI_SUMMARIZE(A2)
=AI_CLASSIFY(B2, "価格,機能,サポート")
=AI_EXTRACT(C2, "メールアドレス")
=AI_TRANSLATE(D2, "英語")
SECTION 11 — AI関数
セルに入力: =AI_CLASSIFY(B2, "苦情,要望,質問,感謝")
@customfunction JSDocタグを付けると、セルの入力候補に表示されます。SECTION 11 — AI関数
自由テキスト(メール本文、議事録など)から特定の情報を取り出します。
| 入力テキスト | 抽出指示 | 結果 |
|---|---|---|
| 「田中太郎(090-1234-5678)です」 | 電話番号 | 090-1234-5678 |
| 「納期は3月15日希望です」 | 日付 | 3月15日 |
| 「合計金額: 54,800円(税込)」 | 金額 | 54,800円 |
=AI_EXTRACT(A2, "メールアドレス")SECTION 11 — AI関数
=AI_TRANSLATE(A2, "英語")
=AI_TRANSLATE(A2, "中国語")
=AI_TRANSLATE(A2, "韓国語")
| 関数名 | 機能 | 使い方 |
|---|---|---|
| AI_SUMMARIZE | 要約 | =AI_SUMMARIZE(A2) |
| AI_CLASSIFY | 分類 | =AI_CLASSIFY(A2, "カテゴリ") |
| AI_EXTRACT | 情報抽出 | =AI_EXTRACT(A2, "日付") |
| AI_TRANSLATE | 翻訳 | =AI_TRANSLATE(A2, "英語") |
スプレッドシート + AI で高度な分析を自動化
SECTION 11 — データ分析
大量のデータを集計・分析するための強力な機能。ドラッグ&ドロップで柔軟な集計が可能です。
ヘッダー行を含めてデータ全体を選択
新しいシートまたは既存シートに作成
集計したい軸と集計方法を指定
SECTION 11 — データ分析
月次売上の推移から季節性パターンを自動検出
通常と大きく異なるデータポイントをAIが指摘
過去データのパターンから将来の傾向を予測
分析結果に基づく具体的な改善アクションを提案
SECTION 11 — データ分析
SECTION 11 — データ分析
実際にスプレッドシート + AI を体験しよう
SECTION 11 — ハンズオン
新しいスプレッドシートに以下のデータを入力:
「(株)ABC」「株式会社ABC」「ABC Inc」を含む顧客リスト
拡張機能 > Apps Script
スライド4のコードを貼り付けて実行
「(株)」が「株式会社」に統一されたことを確認
| 名前 | 会社名 | 電話番号 |
|---|---|---|
| 田中太郎 | (株)ABC | 0312345678 |
| TANAKA TARO | 株式会社ABC | 03-1234-5678 |
| 鈴木花子 | (株)XYZ | 09012345678 |
| 佐藤一郎 | DEFカンパニー | 06-9876-5432 |
| 田中太郎 | (株)ABC | 03-1234-5678 |
SECTION 11 — ハンズオン
GCPプロジェクトIDをコード冒頭のPROJECT_ID変数に設定を追加
スライド8のGemini API共通関数をコピー
スライド8のカスタム関数コードをコピー
A列にテキストを入力し、B1に =AI_SUMMARIZE(A1) と入力
「本日の会議では、来期の予算配分について議論しました。マーケティング部門から20%増額の要望があり、人事部門からは新卒採用費用の確保が急務との意見がありました。最終的に、各部門の優先度を精査したうえで次回会議で決定することになりました。」
「来期予算配分の会議で、マーケティング20%増額と新卒採用費の確保を議論し、次回会議で決定予定。」
SECTION 11 — ハンズオン
商品名、月、売上金額の3列で12行のデータを入力
スライド14のコードを貼り付けて実行
AIが生成した分析レポートを確認
| 商品 | 月 | 売上(万円) |
|---|---|---|
| 商品A | 1月 | 120 |
| 商品A | 2月 | 95 |
| 商品A | 3月 | 180 |
| 商品B | 1月 | 200 |
| 商品B | 2月 | 210 |
| 商品B | 3月 | 195 |
| 商品C | 1月 | 50 |
| 商品C | 2月 | 45 |
| 商品C | 3月 | 30 |
SECTION 11
カスタム関数は1セルずつAPI呼び出しが発生し、100行で100回のAPI呼び出しになります。一括処理関数を使うと効率的です。
| 1件ずつ | 一括処理 | |
|---|---|---|
| API呼び出し | 100回 | 1回 |
| 実行時間 | 約100秒 | 約3秒 |
| コスト | 高い | 低い |
| 精度 | 高い | やや低下 |
SECTION 11
無料アカウント: 6分/回
Workspace: 30分/回
大量データは複数回に分けて処理し、途中経過をシートに保存しましょう。
SECTION 11
SECTION 11
「きれいなデータは、きれいなスプレッドシートから生まれる」 — データ品質は入力の段階で8割が決まります。
SECTION 11
Gmailからのデータ収集・外部通知
クレンジング・AI関数・分析・レポート生成
SECTION 11
データの品質を上げることが、AI活用の最大の近道です。
お疲れさまでした!次のセクションに進みましょう。