TRANSLATE 関数は、Microsoft 365(Excel 365)で導入された新しい関数の1つで、文字列中の文字を1対1で置き換えるための関数です。
これは VBA の WorksheetFunction.Translate や他言語の translate() に似ており、SUBSTITUTE 関数のように文字単位での変換をしたいときに使います。
🔧 構文
=TRANSLATE(文字列, 置換前の文字列, 置換後の文字列)
🧩 引数の説明
| 引数 | 説明 |
|---|---|
文字列 | 変換対象の元の文字列。 |
置換前の文字列 | 置き換えたい文字のセット。 |
置換後の文字列 | 対応する置換後の文字セット。 |
📌 各文字は「同じ位置」に対応して置き換えられます。
例:1文字目 → 1文字目、2文字目 → 2文字目…
🧪 使用例
📌 例 1:英数字の一部を別の文字に変換
=TRANSLATE("ABC123", "ABC123", "abc一二三")
▶ 結果:abc一二三
📌 例 2:母音をアスタリスクに置き換え
=TRANSLATE("HELLO WORLD", "AEIOU", "*****")
▶ 結果:H*LL* W*RLD
⚠ 注意点
- **1文字単位でしか置き換えできません。**語や文字列ごとの置換はできないため、
SUBSTITUTE関数と使い分けが必要です。 置換前と置換後の文字数が異なる場合、余分な文字は無視され、不足している場合は削除されます。
例:
=TRANSLATE("ABC", "ABC", "XY")
▶ 結果:XY(C は削除)
✅ 用途の例
- 英数字や記号の変換(たとえば「半角 → 全角」的な用途)
- セキュリティ目的で一部マスク(
a→*など) - 暗号化・変換のシミュレーション