Excel Onlineの翻訳方法

TABLE OF CONTENTS
Excelファイルの翻訳は難しいものです。テキストを翻訳したいのですが、数式、数値、日付、レイアウトを壊してはいけません。このガイドでは、信頼できる2つのオンラインアプローチ、直接ドキュメント翻訳(ツールが.xlsxをサポートしている場合)と安全なCSVパイプライン、さらにすべてが正常に動作していることを確認するための迅速なQAチェックを紹介します。
始める前に(2分)
- ワークブックのバックアップコピーを作成し、PII(個人を特定できる情報)を削除します。
- 変更してはいけない保護されたコンテンツを特定します:数式、ID/キー、数値、日付、通貨、シート構造。
- 安定したキー列(例:
row_id
)を追加し、後で翻訳を再インポートする場合の参照用にします。 .xlsx
として保存します(レガシーの.xls
は避ける)し、必要に応じてシートの保護を解除します。- 数式セルを文書化し、翻訳後に確認できるようにします。
方法の選択
シナリオ | 推奨方法 | 理由 |
---|---|---|
数式が少ない単純なテーブル | 方法A(直接) | 最速;ワンステッププロセス |
数式が多い複雑なワークブック | 方法B(CSVパイプライン) | 完全隔離;数式リスクゼロ |
ツールが数式を保護しているか不明 | 方法B(CSVパイプライン) | 安全なバックアップオプション |
複数人での翻訳ワークフロー | 方法B(CSVパイプライン) | バージョン管理可能なCSVファイル |
100以上のシートまたは企業規模 | 方法B + 自動化 | 「高度なヒント」セクションを参照 |
方法A — 直接.xlsx翻訳(最速)
OpenL Excel Translator、DeepL API、Google Cloud Translation、またはExcelファイルを明示的にサポートする他のオンラインドキュメント翻訳ツールを使用します。
手順:
-
翻訳ツールを開く
例:https://doc.openl.io/translate/xlsx(OpenL)または同等の.xlsx対応サービス。 -
ソース言語とターゲット言語を選択
言語コードを二重に確認して不一致を避けます。 -
.xlsx
ファイルをアップロード
ファイルサイズがツールの制限内(0 MB)であることを確認します。 -
翻訳されたワークブックをダウンロードする
明確な命名規則で保存する(例:Report_FR.xlsx
)。
ダウンロード後のクイックQA:
- 数式が変更されていないこと:
Ctrl
+~
(Windows)または⌘
+`
(Mac)を押して数式を表示します。次の点をスポットチェックします:- 関数名が英語のままであること(例:
SUM
、SUMME
ではない) - セル参照がそのままであること(例:
A1:A10
) - 数式の数が元のものと一致すること
- 関数名が英語のままであること(例:
- 数値/日付がそのままであること: 次の点を確認します:
- 合計が正しく計算されること
- ピボットテーブルがエラーなく更新されること
- 数字がテキストに変換されていないこと(先頭のアポストロフィを確認)
- 構造が保持されていること: 非表示シート、コメント、データ検証、条件付き書式が以前と同様に機能すること。
数式が壊れた場合はどうするか?
- すぐにバックアップコピーに戻る
- Excelの「スプレッドシートの比較」(Inquireアドイン)を使用して変更を特定する
- 数式の監査トレイルを確認する:
数式 → 先行参照/従属参照のトレース
方法B — 安全なCSVパイプライン(設計上、数式を保持)
この方法では、テキスト値のみを翻訳し、数式や計算フィールドから完全に分離します。
ステップ1: 翻訳テーブルを準備する
ワークブックのコピーで:
a) ToTranslate
という名前の新しいシートを作成する
b) 列を設定する:
row_id
— 安定したユニークキー(1, 2, 3…)sheet_name
— ソースシートの参照(任意だが便利)cell_ref
— “A5”のようなセルアドレス(任意)source_text
— 翻訳するテキストcontext
— “ボタンラベル”や”レポートタイトル”のような簡単なメモ(任意)
c) 純粋なテキストセルのみを抽出する(数式、数字は含まない)
- 次のような数式を使用する:
=IF(ISTEXT(Sheet1!A1), Sheet1!A1, "")
- または手動でテキストのみのセルをコピー&ペーストする
- 重要: 数式セル、数字、日付、IDは除外する
翻訳テーブルの例:
row_id | sheet_name | cell_ref | source_text | context |
---|---|---|---|---|
1 | Sales | A1 | 月次報告 | ヘッダー |
2 | Sales | B3 | 製品名 | 列ラベル |
3 | Sales | C3 | 収益 | 列ラベル |
ステップ2: エクスポートと翻訳
a) ToTranslate
をCSV (UTF-8)としてエクスポート
- ファイル → 名前を付けて保存 → CSV UTF-8 (コンマ区切り)
- Notepad/TextEditでエンコーディングを確認(非ラテン文字が正しく表示されること)
b) CSVを翻訳
- OpenL、DeepL、またはお好みの一括翻訳ツールにアップロード
source_text
列のみを翻訳- 新しい列
target_text
を含む結果をダウンロード
c) CSVの整合性を確認
- 行数が変更されていないこと
row_id
列がそのままであること- 文字化けがないこと
ステップ3: 再インポートと翻訳のマッピング
a) 翻訳されたCSVをExcelに再インポート
- データ → テキスト/CSVから(Power Query推奨)
Translations
という新しいシートに読み込む
b) 元のシートに検索式を追加
- 各ソースセルの隣の補助列に次の式を追加:
=XLOOKUP([@row_id], Translations[row_id], Translations[target_text], "")
または、XLOOKUPが利用できない場合はVLOOKUP/INDEX-MATCHを使用:
=IFERROR(VLOOKUP(A2, Translations!$A:$E, 5, FALSE), "")
c) 元のテキストを翻訳に置き換える
- 検索結果のある補助列を選択
- コピー → 対象セルを選択 → 貼り付け特殊 → 値のみ
- 重要: テキストセルにのみ貼り付け、数式や数値には絶対に貼り付けない
d) クリーンアップ
- 補助列を削除
ToTranslate
とTranslations
シートが不要になった場合は削除
ステップ4: すべてが正常に動作することを確認
F9
キーを押してすべての数式を再計算- 合計、平均、カウントが元のものと一致することを確認
- ピボットテーブルを更新(
Alt + F5
)し、データを確認 - データ検証のドロップダウンをテスト
- 条件付き書式が正しくトリガーされることを確認
シートのスキャンされたテーブルや画像(まずOCR)
もし「Excelファイル」が実際には画像やPDFスキャンである場合:
-
OCRを実行してテーブルデータを抽出する
- Adobe Acrobat、Microsoft OneNote、またはオンラインOCRサービスを使用
- テーブル構造を保持したまま
.xlsx
または.csv
としてエクスポート
-
その後、上記の方法AまたはBを適用する
- 翻訳前にOCRの精度を確認
- 誤読された数字や数式を手動で修正
よくある落とし穴(および修正方法)
1. 小数点と千の区切り記号
問題: 1,234.56
が1.234,56
になったり、テキストとして扱われる
修正:
- 翻訳をインポートする前にExcelで正しい地域フォーマットを設定
- 数字がテキストになった場合は
NUMBERVALUE()
関数を使用
2. 通貨記号
問題: $1,000
が誤って€1,000
になる
修正:
- 明確さのためにソースでISO通貨コード(
USD 1,000
)を使用 - 翻訳後に数値フォーマットを適用し、テキスト内では適用しない
3. 数式内の関数名
問題: SUM()
がSUMME()
(ドイツ語)に翻訳される
修正:
- 数式セル内の内容を決して翻訳しない
- もし翻訳された場合、検索と置換を使用して関数名を元に戻す
4. 日付の誤フォーマット
問題: 12/25/2024
がテキスト”25/12/2024”になり、シリアル値が誤る
修正:
- 基本のシリアル番号を変更しない(Excelでは日付は数字)
- 日付の値自体ではなく、日付フォーマットラベルのみを翻訳
5. 翻訳してはいけないリスト
決して翻訳しない:
- 製品SKU、ID、コード
- ファイルパス(
C:\Data\file.xlsx
) - URLおよびメールアドレス
- プレースホルダ変数(
{name}
、%s
) - 数式参照(
A1
、Sheet1!B5
) - 名前付き範囲
上級者向けのヒント
複数シートのバッチ処理
- Power Queryアプローチ: すべてのシートを1つのマスタ翻訳テーブルに統合
- VBAマクロ: ワークブック全体のテキストセルの抽出を自動化
- API統合: 100以上のファイルの場合、バッチエンドポイントを持つ翻訳APIを使用
スクリプトによる自動化
' テキストセルを抽出する簡単なVBA
Sub ExtractTextCells()
Dim ws As Worksheet, cell As Range, i As Long
Set ws = Sheets.Add
ws.Name = "ToTranslate"
ws.Range("A1:C1").Value = Array("row_id", "source_text", "cell_ref")
i = 2
For Each cell In ActiveSheet.UsedRange
If IsText(cell) And Not HasFormula(cell) Then
ws.Cells(i, 1) = i - 1
ws.Cells(i, 2) = cell.Value
ws.Cells(i, 3) = cell.Address
i = i + 1
End If
Next cell
End Sub
翻訳のバージョン管理
- チームコラボレーションのためにCSVファイルをGitに保存
- 翻訳の変更を追跡するためにdiffツールを使用
- 用語の一貫性を保つために用語集シートを維持
最終QAチェックリスト
翻訳されたワークブックを納品する前に:
- 数式の整合性: カウントと参照が変更されていないことを確認(
Ctrl
+~
で確認) - 計算が正しい: 合計、グラフ、ピボットテーブルが元の結果と一致
- データの破損なし: 数字がテキストになっていないこと、日付が正しくフォーマットされていること
- 翻訳が完了している: すべてのラベルが翻訳されていること、元の言語が残っていないこと
- 保護されたセルは変更なし: 数式セル、定数、およびIDが変更されていないこと
- エンコーディングが正しい: 全体がUTF-8であること、アジア語/キリル文字スクリプトで文字化けがないこと
- フォーマットが保持されている: フォント、色、境界線、配置がそのままであること
- ハイパーリンクが機能する: 内部および外部リンクがまだ機能すること
- マクロが互換性がある: VBAコードが実行可能であること(ただし、コード内のテキストは翻訳が必要な場合があります)
トラブルシューティングクイックリファレンス
Issue | Likely Cause | Solution |
---|---|---|
数式がテキストとして表示される | 誤って翻訳された | バックアップから復元する; Method Bを使用する |
数値のフォーマットが間違っている | ロケールの不一致 | 地域の数値フォーマットを再適用する |
ピボットテーブルが壊れる | ソースデータが変更された | データソースを更新する; フィールド名を確認する |
ファイルサイズが膨張する | 埋め込まれた翻訳メタデータ | 新しいファイルとして保存する; XMLアーティファクトを削除する |
非ラテン文字が??? として表示される | エンコーディングの誤り | CSVをUTF-8 BOMとして再エクスポートする |
推奨ツール
直接.xlsx翻訳
- OpenL Excel Translator: https://doc.openl.io/translate/xlsx
- DeepL API: APIを介して.xlsxをサポート(統合が必要)
- Google Cloud Translation: 高度なドキュメント翻訳
CSV/一括翻訳
- OpenL: コンテキスト保存を伴うCSVを処理
- DeepL: 用語集サポート付きのCSVアップロード
- Microsoft Translator: Azure Cognitive Services (API)
スキャンされたシートのOCR
- Adobe Acrobat Pro: 複雑なテーブルに最適
- Microsoft OneNote: テーブルサポート付きの無料OCR
- Online OCR: ocr.space, onlineocr.net
まとめ
スピードを重視する場合: ツールが数式を明示的に保護する場合は、Method A(直接.xlsx翻訳)を使用してください。
安全性を重視する場合: 完全な隔離を通じて数式の整合性を保証するために、Method B(CSVパイプライン)を使用してください。
常に確認する: 翻訳されたファイルを納品する前にQAチェックリストを実行してください。
迅速に翻訳し、徹底的に確認し、自信を持って出荷してください。🚀