ワードプレスでたくさんのカテゴリーを作成したりスラッグを作成したりする時に、スプレッドシートの表でカタカナをローマ字表記に変換したいというケースが出てくることがあります。WordPress以外の場面でもおそらく表に載っているカタカナをローマ字に変換したいということがあると思いますのでその方法について解説します。スプレッドシートを使うとかなり簡単に大量のデータを一気にローマ字表記に変換処理できますので、是非参考にご活用ください。
Google スプレッドシートを使用して、半角カタカナ(全角カタカナ)をローマ字に変換
Google スプレッドシートを使用して、半角カタカナ(全角カタカナ)をローマ字に変換することができます。スプレッドシートには、ExcelのVBAのような組み込みのプログラミング機能はありませんが、Google Apps Scriptを使用してカスタム機能を作成することができます。
以下がやり方です!
Google スプレッドシートでスクリプトエディタ(Apps Script)を開く
スプレッドシート内で、拡張機能 > Apps Script を選択します。
コードを書く
新しいプロジェクトが開かれ、スクリプトエディタが表示されます。以下のような関数を作成します。
このスクリプトは、基本的なカタカナの文字に加えて、濁音、半濁音、拗音、促音を含む文字列もローマ字に変換します。ただし、これは一般的なケースをカバーする基本的な例です。
基本的なカタカナの文字に加えて、濁音、半濁音、拗音、促音を含む文字列もローマ字に変換(以下をコピペでOK)
function KATAKANA_TO_ROMAJI(input) {
// 基本的な変換マップ
var basicMap = {
'ア': 'a', 'イ': 'i', 'ウ': 'u', 'エ': 'e', 'オ': 'o',
'カ': 'ka', 'キ': 'ki', 'ク': 'ku', 'ケ': 'ke', 'コ': 'ko',
'サ': 'sa', 'シ': 'shi', 'ス': 'su', 'セ': 'se', 'ソ': 'so',
'タ': 'ta', 'チ': 'chi', 'ツ': 'tsu', 'テ': 'te', 'ト': 'to',
'ナ': 'na', 'ニ': 'ni', 'ヌ': 'nu', 'ネ': 'ne', 'ノ': 'no',
'ハ': 'ha', 'ヒ': 'hi', 'フ': 'fu', 'ヘ': 'he', 'ホ': 'ho',
'マ': 'ma', 'ミ': 'mi', 'ム': 'mu', 'メ': 'me', 'モ': 'mo',
'ヤ': 'ya', 'ユ': 'yu', 'ヨ': 'yo',
'ラ': 'ra', 'リ': 'ri', 'ル': 'ru', 'レ': 're', 'ロ': 'ro',
'ワ': 'wa', 'ヲ': 'wo', 'ン': 'n',
'ァ': 'a', 'ィ': 'i', 'ゥ': 'u', 'ェ': 'e', 'ォ': 'o',
'ャ': 'ya', 'ュ': 'yu', 'ョ': 'yo',
'ッ': '', // 促音は次の文字を重ねるため、ここでは変換しない
// 濁音と半濁音
'ガ': 'ga', 'ギ': 'gi', 'グ': 'gu', 'ゲ': 'ge', 'ゴ': 'go',
'ザ': 'za', 'ジ': 'ji', 'ズ': 'zu', 'ゼ': 'ze', 'ゾ': 'zo',
'ダ': 'da', 'ヂ': 'ji', 'ヅ': 'zu', 'デ': 'de', 'ド': 'do',
'バ': 'ba', 'ビ': 'bi', 'ブ': 'bu', 'ベ': 'be', 'ボ': 'bo',
'パ': 'pa', 'ピ': 'pi', 'プ': 'pu', 'ペ': 'pe', 'ポ': 'po',
// 他の特殊なケースがあれば、ここに追加
};
// 拗音の変換マップ
var specialMap = {
'キャ': 'kya', 'キュ': 'kyu', 'キョ': 'kyo',
'ギャ': 'gya', 'ギュ': 'gyu', 'ギョ': 'gyo',
// ... 他の拗音も同様に追加 ...
};
var result = '';
var i = 0;
while (i < input.length) {
var char = input[i];
var nextChar = input[i + 1] || ''; // 次の文字がない場合は空文字を使用
var combinedChars = char + nextChar; // 2文字を組み合わせる
// 拗音または濁音/半濁音の処理
if (specialMap[combinedChars] || basicMap[combinedChars]) {
result += specialMap[combinedChars] || basicMap[combinedChars];
i += 2; // 2文字分進める
} else if (char === 'ッ' && basicMap[nextChar]) { // 促音の処理
result += basicMap[nextChar].charAt(0); // 促音は次の文字の最初の文字を重ねる
i += 1; // 1文字分進める
} else {
// 基本的な変換
result += (basicMap[char] || char); // マップにない文字はそのまま追加
i += 1; // 1文字分進める
}
}
return result;
}
実際にスクリプトエディタ(Apps Script)にコードを張り付けてみたスクリーンショット
スクリプトを保存・デプロイ
スクリプトを書いたら、プロジェクトに名前を付けて保存します。
Google Apps Scriptで作成したカスタム関数を他のユーザーと共有したり、スプレッドシートで利用可能にするためには、「デプロイ」のプロセスを完了する必要があります。
スクリプトエディタの左上にある「デプロイ」ボタン(または「公開」メニューの「ウェブアプリとして導入」)をクリックします。「新しいデプロイ」をクリックします。
スプレッドシートで関数を使用
スクリプトエディタを閉じ、Google スプレッドシートに戻ります。セルに作成した関数を使うことができます。例えば、A1セルに半角カタカナがある場合、別のセルに=KATAKANA_TO_ROMAJI(A1)と入力します。
結果の確認
関数がセルの内容をローマ字に変換し、結果が表示されます。
結果が表示されるまでには数分かかる場合があります。
うまくいくとすごく作業が効率的に進みますので成功することを祈ってます!