取引先から届いたGoogleスプレッドシートをExcelで開いたら、一部のセルが #NAME? というエラーだらけになっていた—— あるいは、Excelで組んだ数式をそのままGoogleスプレッドシートにコピーしたのに結果が変わってしまった。 ExcelとGoogleスプレッドシートは見た目も操作感もよく似ているため、関数まですべて共通だと思い込みがちですが、実際には「共通の関数」「片方にしかない関数」「同じ名前でも挙動が違う関数」が混在しています。 この記事では、両者の関数の違いを対応表で整理し、ファイルを行き来させたときに数式が壊れるパターンと対処法を解説します。
Excelとスプレッドシートは「関数の言語」がよく似ている、でも別物
Googleスプレッドシートは後発のサービスで、乗り換えのハードルを下げるためにExcelと似た構文の関数を数多く採用しています。=VLOOKUP(...) や=SUM(...) のように、 基本的な関数は名前も引数の順番もほぼ同じです。
一方で、Googleスプレッドシートはクラウド上で動くサービスならではの関数(他のシートを直接参照するIMPORTRANGE、SQL風の抽出ができるQUERYなど)を独自に発展させてきました。 逆にExcelにも、日本語のふりがな処理などExcel専用の関数があります。 「同じに見えて、実は別物」という前提を持っておくと、ファイル移行時のトラブルをかなり減らせます。
共通で使える関数 — そのまま移行できるもの
日常的によく使う関数の大半は、ExcelとGoogleスプレッドシートで構文・挙動ともに共通です。 以下のような関数であれば、ファイルを移行しても数式を書き直す必要はほとんどありません。
| カテゴリ | 主な関数 | 備考 |
|---|---|---|
| 文字列操作 | LEN・LEFT・RIGHT・MID・TRIM・SUBSTITUTE・CONCAT・TEXTJOIN | 引数の順序・書式までほぼ同一 |
| 数値・計算 | SUM・ROUND・AVERAGE・MAX・MIN・ABS・MOD | 四則演算・丸め処理は完全共通 |
| 論理・条件 | IF・IFS・AND・OR・NOT・IFERROR | IFSはExcel 2019以降とSheets両対応 |
| 日付・時刻 | TODAY・DATEDIF・EDATE・WORKDAY | 日付のシリアル値の考え方も共通 |
| 統計・集計 | COUNTIF・SUMIF・COUNTIFS・SUMIFS | 条件付き集計の書き方も同じ |
| スピル関数 | UNIQUE・FILTER・SORT・SEQUENCE | Excelは365以降、Sheetsは標準搭載 |
検索関数の違い — VLOOKUP・XLOOKUP・INDEX/MATCH対応表
表を検索して値を取り出す関数は使用頻度が高く、バージョンによる対応状況の差も出やすい領域です。
| 関数 | Excel | Googleスプレッドシート | 備考 |
|---|---|---|---|
| VLOOKUP | ◯ | ◯ | 完全一致にはFALSE指定を推奨。挙動は同一 |
| HLOOKUP | ◯ | ◯ | 横方向の検索。使用頻度はVLOOKUPより低い |
| INDEX + MATCH | ◯ | ◯ | VLOOKUPの「左方向を検索できない」弱点を補う定番の組み合わせ |
| XLOOKUP | ◯(365 / 2021以降) | ◯(2022年8月以降) | 「Excel専用」と誤解されがちだが、Sheetsも対応済み |
| XMATCH | ◯(365以降) | ◯ | ワイルドカード・逆順検索にも対応 |
自分の使っている関数がどのバージョンから対応しているか一つずつ確認したい場合は、Excel↔スプレッドシート関数検索ツールで180件以上の関数を横断検索できます。関数名や用途からExcel・Sheets双方の対応状況をまとめて確認できるため、移行前のチェックに便利です。
Googleスプレッドシート限定関数 — QUERY・ARRAYFORMULA・IMPORTRANGEなど
Googleスプレッドシートには、クラウド上で動くサービスならではの関数が数多くあります。 これらはExcelに同名の関数が存在しないため、そのままファイルを移すと数式が壊れます。
| 関数 | できること | Excelでの代替 |
|---|---|---|
| QUERY | SQL風の1行でデータの抽出・並び替え・集計を完結 | FILTER・SORT・SUMIFSなどを組み合わせて代替 |
| ARRAYFORMULA | 通常は1セルしか返さない数式を配列全体に一括適用 | Ctrl+Shift+Enterの配列数式、またはスピル関数 |
| IMPORTRANGE | 別のスプレッドシートから指定範囲を取り込む | Power Queryやブック間の外部参照 |
| IMPORTDATA | URL上のCSV/TSVデータを直接読み込む | Power Queryの「Webから」データ取得 |
| GOOGLETRANSLATE | セルの文字列を指定した言語に翻訳 | 対応関数なし(外部サービス連携が必要) |
| REGEXMATCH / REGEXEXTRACT / REGEXREPLACE | 正規表現でテキストの判定・抽出・置換 | 対応関数なし(VBAやPower Queryが必要) |
Excel限定関数 — ASC・JIS・PHONETICなど
逆にExcelには、日本語の表記ゆれを扱うための専用関数があります。 いずれもGoogleスプレッドシートには存在しないため、注意が必要です。
| 関数 | できること | Sheetsでの代替 |
|---|---|---|
| ASC | 全角の英数字・カタカナを半角に変換 | REGEXREPLACEで近い処理を組み直す |
| JIS | 半角の英数字・カタカナを全角に変換 | 同上 |
| PHONETIC | セルに入力された漢字のふりがな(読み)情報を取得 | 対応関数なし。ふりがな用の列を別途手入力する運用が必要 |
ファイルを移行すると数式が壊れる典型パターンと対処法
「ファイルは開けたのに数式だけがおかしい」というトラブルの大半は、次の3パターンのいずれかです。
- Googleスプレッドシート → Excel — 「ファイル → ダウンロード → Microsoft Excel(.xlsx)」で書き出すと、 QUERY・ARRAYFORMULA・IMPORTRANGEなどを使ったセルがすべて
#NAME?エラーになります。 Excelがその関数名自体を認識できないためで、ファイルの破損ではありません。 - Excel → Googleスプレッドシート — PHONETIC・ASC・JISを使った数式は、アップロード後に同様の
#NAME?エラーになります。 特にPHONETICは一覧表でふりがなの自動表示に使われがちなため、移行後にふりがな列がまるごと崩れて気づくケースが多いです。 - 対処法:配布前に「値」に変換する — 相手に数式そのものを渡す必要がなければ、該当セルをコピーして「値のみ貼り付け」で計算結果に置き換えてから配布すると、 関数の対応可否を気にせずファイルを渡せます。数式を残したまま渡したい場合は、事前に対応表で使用中の関数を確認しておくのが安全です。
そもそも数式ではなく数値・文字列の「値」だけをやり取りしたい場合は、CSV形式を経由する方法もあります。 CSVはテキストのみのシンプルな形式で数式を保持しない代わりに、Excel・Googleスプレッドシートのどちらで開いても同じ値がそのまま表示されます。CSV↔Excel変換ツールなら文字コードを選んでブラウザ内で変換でき、 複数ファイルをまとめて変換したい場合はExcel→CSV一括変換ツールが便利です。どちらもファイルはサーバーに送信されず、処理はすべてブラウザ内で完結します。
まとめ
- LEN・SUM・IF・VLOOKUPなど基本的な関数は、ExcelとGoogleスプレッドシートでほぼ完全に共通
- XLOOKUPは「Excel専用」と誤解されがちだが、Googleスプレッドシートも2022年8月以降対応済み
- QUERY・ARRAYFORMULA・IMPORTRANGEなどはGoogleスプレッドシート専用で、Excelで開くと
#NAME?エラーになる - ASC・JIS・PHONETICなどはExcel専用で、Googleスプレッドシートに移すと同様にエラーになる
- 対応状況が不安な関数は、事前に関数検索ツールで確認し、数式を残す必要がなければ値貼り付けやCSV経由での移行を検討する