実際にあった相談——「Excelの表をそのままスプレッドシートにしたい」
ご相談の内容はシンプルでした。長年使ってきたExcelの管理表を、書式や数式ごとGoogleスプレッドシートに移し、複数人で同時に見られるようにしたい——テレワークやスマートフォンでの閲覧が増えた会社では、ごく自然な要望です。
作業自体は簡単に見えます。GoogleドライブにExcelをアップロードすれば、スプレッドシート形式への変換機能が用意されているからです。ところが変換後の表を細かく見ていくと、日付・曜日・数式の3か所で「静かな崩れ」が起きていました。
厄介なのは、どれもパッと見では正常に見えることです。表の形も色も揃っているため、「移行できた」と思ってそのまま運用を始めると、数週間後に集計のずれやエラー表示として発覚します。ExcelとスプレッドシートはUIが似ているだけで、日付の内部処理・関数の書式コード・シートの範囲の扱いに仕様差があります。似ているものほど、違いは検収まで隠れ続けます。
実案件で踏んだ3つの落とし穴と対処法
落とし穴1:日付・時刻が16〜17時間ずれる
移行後の表で、朝6:00の予定が前日の23:00になっていました。原因はタイムゾーン設定です。プログラム(GAS)で値を読み取って別のスプレッドシートに書き込むと、2つのファイルのタイムゾーン設定が異なる場合に日付・時刻が16〜17時間ずれることがあります。日本の設定と米国の設定が混在すると、ちょうどこの幅になります。
- 対処:値の移動は「シートごとコピー」の機能を使う。日付の内部値(シリアル値)がそのまま運ばれるため、ずれが起きない
- 予防:移行先スプレッドシートの「設定」でタイムゾーンが「東京」になっているかを最初に確認する
- 点検:日付・時刻の列は移行後に数件以上、元のExcelと突き合わせる
落とし穴2:曜日が「AAA」という文字のまま表示される
Excelでは、TEXT関数の書式コード「AAA」で「月」「火」のような日本語曜日を表示できます。この書式コードはスプレッドシートでは解釈されず、セルに「AAA」という文字がそのまま表示されます。エラーにならないぶん、見落としやすい崩れです。
- 対処:スプレッドシートが解釈できる書式(例:TEXT(A1,"ddd"))へ書き換えるか、曜日を計算せず値として書き込む方式に変える
- 点検:曜日・和暦・「〇月〇日(〇)」のような日本語混じりの日付表示は、書式コードの互換切れが起きやすい筆頭。移行後に表示を目視する
落とし穴3:数式が#REF!エラーになる
変換したシートのあちこちに#REF!(参照エラー)が出るケースです。原因は、変換時にシートが「使っている範囲」まで切り詰められること。Excelでは表の外の空セルを参照しても0として扱われますが、変換後は参照先の行や列そのものが存在しなくなり、エラーになります。
- 対処:移行前にExcel側で数式を値に固定(コピーして「値のみ貼り付け」)してから移行し、必要な数式だけスプレッドシート側で作り直す
- 補修:すでにエラーが出てしまった場合は、元Excelの計算結果と突き合わせて値で埋め直す
- 注意:別シート・別ブックを参照する数式は特に壊れやすい。移行対象の表がどこを参照しているか、先に洗い出しておく
安全な移行手順——「全セル照合」の検収が本体
3つの落とし穴に共通するのは、移行作業そのものより「移行後の照合」で事故を止めるという考え方です。弊社が実案件で使っている手順は次のとおりです。
- ①移行前に、元Excelの「計算結果の値」を控えておく(数式ではなく、表示されている結果のほう)
- ②書式ごと移す必要があるシートは「シートごとコピー」で移し、数式は原則いったん値に固定する
- ③移行後のスプレッドシートをExcel形式でダウンロードし直し、元のExcelと突き合わせる
- ④照合の観点は3つ——「数式が意図せず残っていないか」「エラー値が発生していないか」「値が一致しているか」
- ⑤元のExcelにもともとあったエラー(#N/Aなど)は「忠実な再現」としてそのまま残し、記録しておく
全セルの機械照合が難しければ、崩れやすい箇所に絞った重点目視でも効果があります。優先すべきは、日付・時刻の列、月末や期末の行、集計行、そして別シートを参照している数式です。データ入力の自動化でも共通しますが、「動いたように見える」と「正しく動いている」の間には検収という工程が必要です。
費用相場と内製/外注の判断
移行を自社でやるか、外部に頼むかの分岐はシンプルです。数式が単純で、シートが1〜2枚、日付書式の込み入った表示がないなら、この記事の手順で内製できる範囲です。逆に、マクロ(VBA)を含むExcelは要注意です。VBAはスプレッドシート上では動かず、GAS(Google Apps Script)での作り直しになります。Excelマクロからの移行実例で解説したとおり、これは「移行」ではなく小さな開発です。
- 表の移行のみ(数式の固定・照合込み):数千円〜3万円程度が相場の目安
- VBAマクロのGASへの作り直しを含む:5万〜20万円程度(マクロの規模による)
- 移行後の運用自動化(転記・集計・通知)まで含む:自動化の費用相場を参照
上記は特定の案件の金額ではなく、弊社の経験を一般化した相場レンジです。見積もりを取る際は「照合(検収)まで含まれているか」を確認してください。移行は作業よりも検収が本体です。ここが抜けた安い見積もりは、崩れたまま納品されるリスクを含んでいます。まずはExcel業務の自動化の全体像を眺めて、移行と同時に自動化したい業務がないかを書き出すのがおすすめです。
Excelの移行、「検収込み」でAIに30秒で診断
移行したいExcelの内容を1行入力するだけ。移行の進め方と概算、崩れやすいポイントをその場でお見せします。月額3万円〜・最短2週間で運用開始。
AIに30秒で試す →よくある質問
Q. Excelのマクロ(VBA)はスプレッドシートでもそのまま動きますか?
動きません。VBAはExcel専用の仕組みで、スプレッドシートではGAS(Google Apps Script)という別の仕組みで作り直す必要があります。マクロ入りのExcelを移行する場合は「表の移行」と「マクロの作り直し」を分けて見積もるのが安全です。
Q. 移行後もExcelと併用してよいですか?
併用はできますが、同じデータを両方で更新する期間が長いほど、どちらが正かわからなくなる二重管理のリスクが高まります。移行期間(並行運用)は1〜2か月など区切りを決め、期限が来たらExcel側を「参照のみ」に切り替えるのがおすすめです。
Q. 日付のずれに、運用を始めてから気づきました。直せますか?
直せる場合が多いです。まずスプレッドシートの設定でタイムゾーンが「東京」かを確認し、ずれ幅が一定(16〜17時間など)であれば一括補正できます。ただし、ずれた日付を見ながら手修正した箇所が混ざると補正が複雑になるため、気づいた時点で修正を止めてから対処してください。
