Excel と Google Sheets を行き来する表計算で、壊れにくい関数を選ぶ — XLOOKUP を SUMIF に置き換えて互換性を担保した話
ローカル環境では Claude Code や Codex などの AI エージェントに Excel の作業をしてもらい、成果物の共有は Google Sheets で行う、というワークフローを回しています。この構成だと、関数の互換性が実務上のボトルネックになる場面がしばしば出てきます。
今回は、Excel 側で組んだ集計式を Google Sheets 側で開いた瞬間に壊れた事例を起点に、両方の表計算ソフトを行き来するファイルで壊れにくい関数を選ぶための実務指針を整理します。
症状:Excel で書いた XLOOKUP が Google Sheets で空になる
Excel で作成した .xlsx ファイルを Google Sheets で開くと、式が正しく表示されているにもかかわらず、計算結果が空になったり、想定外の値になったりすることがあります。
今回問題になったのは、別表から値を取得するために使っていた XLOOKUP でした。
=XLOOKUP(A2,マスタ!$A$2:$A$100,マスタ!$C$2:$C$100)XLOOKUP は現在の Excel と Google Sheets の双方で利用できます(Google Sheets 版の仕様は XLOOKUP 関数のヘルプ を参照)。そのため、単純に「Google Sheets では未対応」という問題ではありません。
実際には、次のような違いが影響します。
.xlsxから Google Sheets への式の変換- ファイルに保存された計算済み値の扱い
- ファイルを開いたときの再計算タイミング
- Excel 固有の式表現や内部的な関数名
- 動的配列の解釈
- 参照範囲や空白セルの扱い
そこで、数値を条件に応じて取得・集計する用途では、より基本的な SUMIF に置き換えました。
=SUMIF(マスタ!$A$2:$A$100,A2,マスタ!$C$2:$C$100)XLOOKUP と SUMIF は完全に同じではない
この置き換えが使えるのは、取得対象が数値で、同じキーに該当する値を合計してよい場合です。用途別に整理すると次のようになります。
- キーが一意で数値を取得する:SUMIF でも代用可能
- 同じキーが複数あり合計したい:SUMIF が適切
- 文字列を取得したい:INDEX と MATCH などを検討
- 最初に一致した 1 件だけ取得したい:単純な置き換えは不可
文字列を取得する場合は、INDEX と MATCH の組み合わせが用途に合います。
=INDEX(マスタ!$C$2:$C$100,MATCH(A2,マスタ!$A$2:$A$100,0))INDEX と MATCH の組み合わせは Excel でも Google Sheets でも古くからサポートされており、.xlsx と Google Sheets を行き来しても壊れにくい構成です。
移植性を重視した関数設計
Excel と Google Sheets の両方で利用するファイルでは、次のような基本関数を中心にすると安定しやすくなります。
- 条件付き集計:SUMIF・SUMIFS
- 合計:SUM
- 丸め:ROUND
- 判定:IF
- 完全一致検索:INDEX と MATCH
- 検算:元データ合計と計算結果を IF で比較
例えば、集計結果が元データと一致しているかをシート上で検算できます。
=IF(集計結果セル=元データ合計セル,"一致","不一致")端数を必ず合計金額に一致させたい場合は、最後の行を差額として計算します。
=請求総額-SUM(上の明細行)こうした「検算セル」を用意しておくと、ファイル変換や再計算で結果が壊れた瞬間にシート上で気付けるようになります。関数を単純にすることと、検算を明示的に組み込むことは、片方だけでは効きません。
実務上のポイント
関数の対応表だけでは、Excel と Google Sheets 間の互換性は判断できません。両方が対応している関数でも、ファイル変換や再計算を挟むと結果が変わる場合があります。今回の XLOOKUP はまさにそのケースでした。
そのため、次の運用が有効です。
- 集計式は可能な限り単純にする
- 参照範囲を明示的に固定する
- 入力データと計算結果を別シートに分ける
- 合計一致を確認する検算セルを用意する
.xlsxと Google Sheets の両方で実際に再計算する- 表示値だけでなく、セルの式も確認する
特に 5 と 6 は、AI エージェントに作業を任せている場合ほど効いてきます。エージェントは Excel 側の再計算結果を見て「合っている」と判断しがちですが、共有先の Google Sheets で開き直したときに壊れているケースは、目視で式まで追わないと拾えません。
まとめ
今回の知見は、「XLOOKUP を使ってはいけない」ではありません。
重要なのは、複数の表計算ソフトで利用するファイルでは、最新機能の便利さだけでなく、変換・再計算・検算のしやすさまで含めて関数を選ぶことです。単純な関数と明示的な検算を組み合わせることで、表計算ソフトをまたいでも壊れにくく、第三者が確認しやすいシートを作れます。
以上、Excel と Google Sheets を行き来するファイルで XLOOKUP を SUMIF に置き換えて互換性を担保した、現場からお送りしました。