悩 なやみ箱 暮らしと日常の悩みを、手順で解決するサイト

ExcelとGoogleスプレッドシートで関数が違って式が動かない

2026年10月時点 | 検証環境: Windows版Excel(Microsoft 365) / パソコンのブラウザ版Googleスプレッドシート
■ 先に結論

関数名を書き出し、移した先の公式関数リストに同じ名前があるかを確かめます。
名前が無ければ相手側の関数で書き直し、引数の意味が違う関数(FILTERの3つ目など)は引数を組み替えます。

  1. 動かないセルの数式から関数名を書き出す
  2. 移した先の公式関数リストで名前を探す
    • 名前が無い相手側の似た関数で書き直す(SPLITとTEXTSPLITなど)
    • 名前はある引数の並びと既定値を両方のヘルプで見比べる
  3. 書き直した式を1セルで試してから下へコピーする
  4. 元のファイルと同じ結果なら完了

SUMやVLOOKUPは共通なので、式もそのまま動きそうです。ところが片方にしか無い関数や引数の意味が違う関数が混ざると、エラーや結果のずれが起きます。

対象はWindows版Excel(Microsoft 365)とパソコンのブラウザ版スプレッドシートです。※2026年10月時点の各社公式ヘルプと関数リストに基づきます。

色の違う2冊のノートが重なり、手前の表紙にパズルのピースの形のくぼみがある絵

1動かない式の関数名を書き出す

エラーのセルや結果が違うセルの数式から、= やかっこの直前にある英字の関数名を、入れ子の内側まで書き出します。Excelで #NAME? と出るのは、関数名の入力ミスや、Excelに無い関数名が主な原因です(定義されていない名前や引用符の抜けでも出ます)。それ以外のエラーは#REF! や #N/A が出る意味と直し方を見てください。

出典: #NAME? エラーの修正方法

2移した先の公式関数リストで探す

スプレッドシートへ移した
  • Googleの「関数リスト」を開く
  • 「複数のキーワードで絞り込む...」欄に関数名を入れる
Excelへ移した
  • Microsoftの「Excel 関数 (アルファベット順)」を開く
  • Ctrl+F で関数名を探す
  • 名前の後ろの(2021)などは、その版で追加されたしるし。それより前の版では使えない
  • スプレッドシートで型が「Google」の関数(QUERYなど)の多くは無い。IMAGEのようにある関数も

出典: Google スプレッドシートの関数リスト / Excel 関数 (アルファベット順)

3名前が無い関数を書き直す

文字を区切り文字で分ける関数は、スプレッドシートが SPLIT、Excelが TEXTSPLIT で、互いの関数リストには載っていません。

=SPLIT(A1,",")=TEXTSPLIT(A1,",",,TRUE)

空欄の扱いの既定値が逆なので、Excel側は4つ目をTRUEにしてそろえる

SPLITは連続する区切り文字の間の空欄を既定で取り除き、TEXTSPLITは空のセルを残します。区切りが2文字以上だと、SPLITは既定で1文字ずつ区切ります(3つ目をFALSEで文字列ごと)。TEXTSPLITはExcel 2024・Microsoft 365の関数で、それより前の版では「区切り位置指定ウィザード」で列に分けます。

Excelに無い関数の移し方(この記事の提案)です。

  • IMPORTRANGE: スプレッドシート上で範囲をコピーし、同じ場所に「値のみ貼り付け」(Ctrl+Shift+V)で値にしてから移す
  • QUERY: 抜き出す条件をFILTERで組み直す(手順4)
  • ARRAYFORMULA: 外して中の式だけ入れる。Microsoft 365のExcelでは結果が自動で広がる(スピル)

4名前はあっても引数の意味が違う関数(FILTER)

FILTERは両方にありますが、3つ目の引数がスプレッドシートでは「条件2」、Excelでは if_empty(フィルターが何も返さない場合に返す値)です。

スプレッドシート → Excel
  • 移す前: =FILTER(A2:C20,B2:B20="東",C2:C20>100)
  • Excelでは3つ目が「if_empty」として読まれる
  • 書き直し: =FILTER(A2:C20,(B2:B20="東")*(C2:C20>100),"")
Excel → スプレッドシート
  • 移す前: =FILTER(A2:C20,B2:B20="東","該当なし")
  • スプレッドシートでは3つ目が条件として読まれる
  • 書き直し: =IFNA(FILTER(A2:C20,B2:B20="東"),"該当なし")

合う行が無いとき、Excelは3つ目を省くと #CALC!、スプレッドシートは #N/A を返すため、IFNA で包みます。

出典: SPLIT / 区切り位置指定ウィザードを使用して、テキストをさまざまな列に分割する / スプレッドシートのキーボード ショートカット / 動的配列数式とスピル配列の動作 / TEXTSPLIT 関数 / FILTER 関数(Google) / FILTER 関数(Microsoft)

書き直しても結果が合わない時のチェックリスト

この記事で扱った原因は、関数名が相手側に無いか、同じ名前で引数の意味が違うかの2つです。