ぱんだツールズぱんだツールズ

技術背景

Excelとスプレッドシートの関数の違い — VLOOKUP・QUERY対応表

約7分

取引先から届いた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・IFERRORIFSはExcel 2019以降とSheets両対応
日付・時刻TODAY・DATEDIF・EDATE・WORKDAY日付のシリアル値の考え方も共通
統計・集計COUNTIF・SUMIF・COUNTIFS・SUMIFS条件付き集計の書き方も同じ
スピル関数UNIQUE・FILTER・SORT・SEQUENCEExcelは365以降、Sheetsは標準搭載

検索関数の違い — VLOOKUP・XLOOKUP・INDEX/MATCH対応表

表を検索して値を取り出す関数は使用頻度が高く、バージョンによる対応状況の差も出やすい領域です。

関数ExcelGoogleスプレッドシート備考
VLOOKUP完全一致にはFALSE指定を推奨。挙動は同一
HLOOKUP横方向の検索。使用頻度はVLOOKUPより低い
INDEX + MATCHVLOOKUPの「左方向を検索できない」弱点を補う定番の組み合わせ
XLOOKUP◯(365 / 2021以降)◯(2022年8月以降)「Excel専用」と誤解されがちだが、Sheetsも対応済み
XMATCH◯(365以降)ワイルドカード・逆順検索にも対応

自分の使っている関数がどのバージョンから対応しているか一つずつ確認したい場合は、Excel↔スプレッドシート関数検索ツールで180件以上の関数を横断検索できます。関数名や用途からExcel・Sheets双方の対応状況をまとめて確認できるため、移行前のチェックに便利です。

Googleスプレッドシート限定関数 — QUERY・ARRAYFORMULA・IMPORTRANGEなど

Googleスプレッドシートには、クラウド上で動くサービスならではの関数が数多くあります。 これらはExcelに同名の関数が存在しないため、そのままファイルを移すと数式が壊れます。

関数できることExcelでの代替
QUERYSQL風の1行でデータの抽出・並び替え・集計を完結FILTER・SORT・SUMIFSなどを組み合わせて代替
ARRAYFORMULA通常は1セルしか返さない数式を配列全体に一括適用Ctrl+Shift+Enterの配列数式、またはスピル関数
IMPORTRANGE別のスプレッドシートから指定範囲を取り込むPower Queryやブック間の外部参照
IMPORTDATAURL上の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経由での移行を検討する

よくある質問

VLOOKUPはExcelとGoogleスプレッドシートで同じように使えますか?

はい、VLOOKUPは両方でまったく同じ構文・挙動で動作します。=VLOOKUP(検索値, 範囲, 列番号, 検索の型)という書式は共通で、完全一致検索にしたい場合は検索の型にFALSEを指定する使い方も同じです。Excelで作ったVLOOKUP入りの表をGoogleスプレッドシートにアップロードしても、数式はそのまま計算され続けます。SUMIFやCOUNTIFのような基本的な集計関数も同様に、両者で挙動の差はほとんどありません。

XLOOKUPはExcelにしかない関数だと聞きましたが本当ですか?

以前はその通りでしたが、現在は誤解です。XLOOKUPはExcel 365・Excel 2021以降に先行搭載された関数ですが、Googleスプレッドシートも2022年8月のアップデートでXLOOKUPに対応しました。VLOOKUPと違って検索範囲より左側の列も返せるうえ、デフォルトで完全一致検索になるため、新しく作る表ではExcel・スプレッドシートどちらでもXLOOKUPへの置き換えが進んでいます。ただし共有相手が古いバージョンのExcelを使っている場合は、互換性のためVLOOKUPを残すという判断もあり得ます。

QUERY関数をExcelで再現する方法はありますか?

Excelには直接対応するQUERY関数はありませんが、条件抽出はFILTER関数、並び替えはSORT関数、集計はSUMIFS・COUNTIFS関数を組み合わせることで近い処理を再現できます。QUERYの「SELECT A,B WHERE C>100 ORDER BY B DESC」のようなSQL(Structured Query Language、データベース操作用の問い合わせ言語)風の1行に比べると、Excel側は複数の数式を組み合わせる必要があり、数式が長くなりがちです。

ARRAYFORMULAとはどんな関数で、Excelでの代替はありますか?

ARRAYFORMULAは、本来1つのセルにしか結果を返さない数式を配列・範囲全体に一括適用できるGoogleスプレッドシート専用の関数です。Excelには同名の関数はありませんが、Excel 365以降のスピル機能(UNIQUE・FILTER・SORT・SEQUENCEなど、複数セルに結果が「あふれ出す」関数群)や、従来からあるCtrl+Shift+Enterで確定する配列数式でほぼ同じ処理を代替できます。

Googleスプレッドシートで作った表をExcelで開いたら数式がエラーになりました。なぜですか?

QUERY・ARRAYFORMULA・IMPORTRANGE・GOOGLETRANSLATEなど「Googleスプレッドシート専用関数」を使った数式は、Excelがその関数名自体を認識できないため #NAME? エラーになります。原因はファイルの破損や文字化けではなく、関数がExcel側に存在しないことです。配布用のファイルを作るときは、該当セルを数式のまま渡すのではなく、計算済みの値として貼り付けてから渡すとエラーを避けられます。

ExcelのPHONETIC関数やASC・JIS関数をGoogleスプレッドシートに移すとどうなりますか?

PHONETIC(ふりがな取得)・ASC(全角→半角変換)・JIS(半角→全角変換)はいずれもExcel専用の日本語処理関数のため、Googleスプレッドシートにアップロードすると同様に #NAME? エラーになります。全角・半角の変換自体はREGEXREPLACE関数で近い処理を組み直せます。ただしPHONETICが参照しているIME(Input Method Editor、日本語入力時の変換システム)の読み情報に完全に対応する関数はGoogleスプレッドシートにはなく、ふりがな列を別途用意するなど設計を見直す必要があります。

ExcelとGoogleスプレッドシートのファイルを安全に変換するにはどうすればいいですか?

数式そのものではなく計算済みの値だけを移行したい場合は、CSV(Comma-Separated Values、カンマ区切りのテキスト形式)を経由するのが確実です。CSVは数式を保持しない代わりに、Excel・Googleスプレッドシートのどちらで開いても同じ値がそのまま表示されるため、関数の対応可否を気にする必要がなくなります。数式ごと移行したい場合は、事前に対応表で使用中の関数をひとつずつ確認しておくと事故を防げます。

ぱんだツールズの変換ツールや関数検索ツールは、ファイルをサーバーに送信しますか?

いいえ。CSV↔Excel変換ツール・Excel→CSV一括変換ツールはすべてブラウザ内(お使いの端末上)で処理が完結し、ファイルは外部サーバーに送信されません。関数の対応状況を調べるExcel↔スプレッドシート関数検索ツールも、ファイルのアップロード自体が不要な参照ツールです。取引先の数式や社内の集計表など、外部に出しづらいデータを扱う場合でも安心して使えます。

この記事で紹介したツール