これはなに?
いわゆるMicrosoft Excelで言うところのPHONETIC
関数です。
漢字を含むテキスト・セルを指定することで、読み仮名を出力することができます。読み仮名はひらがなのふりがなでもカタカナのフリガナでも大丈夫です。
典型的な利用シーンとしては、住所録で氏名の読み仮名を自動で(それなりに)ふりたい、というシーンがあります。ちょうど年賀状シーズンの住所録でふりがなが必要になったりしていると思いますが、ローカルのExcelではなくGoogleスプレッドシートで管理している方も多いでしょう。ExcelにはPHONETIC
関数があるのにGoogleスプレッドシートには同様の機能が無いのです。
機能
- 漢字を含むテキスト(セル)をひらがなへ変換
=HIRAGANA(input)
- 漢字を含むテキスト(セル)をカタカナへ変換
=KATAKANA(input)
- フラグで変換先(ひらがな/カタカナ)を指定して変換
=KANA(input, flag)
使い方
このカスタム関数はgooラボのひらがな化APIを利用しています。そのため、gooラボでのアプリケーションIDの発行とGoogle Spreadsheetsへのカスタム関数登録の2ステップで使えるようになります。
- gooラボ アプリケーションID発行
- Google Spreadsheetsへカスタム関数登録
gooラボ アプリケーションID発行
gooラボAPI利用登録ページへアクセスし、利用規約をよく読んだ上で登録を行います(登録にはGitHubアカウントが必要です)。
GitHubの認証画面が表示されるのでAuthorizeボタンを押します。
登録が完了すると、アプリケーションIDが発行されて画面に表示されるのでコピーしておきます。
この手順は、一度だけ実行すれば二度目以降は不要になります。
Google Spreadsheetsへカスタム関数登録
続いて、実際にGoogleスプレッドシート上で各カスタム関数を使えるようにします。
まず、適当なGoogle スプレッドシートを開きます。新規作成でも構いません。今回のカスタム関数は利用するスプレッドシート(Excelで言うところのBook)毎に利用設定が必要ですのでご注意下さい。
次に、メニューバーの「ツール」から「スクリプト エディタ」を選択します。
すると、下図のような画面が開きます。別サービスに移動したように見えますが心配いりません。
以下のように記載されている部分を選択して削除してから、後述のスクリプトをコピー&ペーストしてください。
function myFunction() {
}
上記を削除して、下記をコピー&ペーストします。
var perform = function(output_type, sentence) {
var endpoint = "https://labs.goo.ne.jp/api/hiragana";
var payload = {
"app_id": "ここにgooラボアプリケーションIDをペースト",
"sentence": sentence,
"output_type": output_type
};
var options = {
"method": "post",
"payload": payload
};
var response = UrlFetchApp.fetch(endpoint, options);
var response_json = JSON.parse(response.getContentText());
return response_json.converted;
};
/**
* Convert Japanese KANJI to HIRAGANA by goo LAB API.
*
* @param {string} input The value of cell to convert.
* @return The converted value that HIRAGANA.
* @customfunction
* @author Noriaki UCHIYAMA (twitter: @noriaki)
*/
function HIRAGANA(input) {
return perform("hiragana", input);
}
/**
* Convert Japanese KANJI to KATAKANA by goo LAB API.
*
* @param {string} input The value of cell to convert.
* @return The converted value that KATAKANA.
* @customfunction
* @author Noriaki UCHIYAMA (twitter: @noriaki)
*/
function KATAKANA(input) {
return perform("katakana", input);
}
/**
* Convert Japanese KANJI to HIRAGANA/KATAKANA by goo LAB API.
*
* @param {string} input The value of cell to convert.
* @param {boolean} output_type The flag of convert type. TRUE: HIRAGANA, FALSE: KATAKANA.
* @return The converted value that specified in output_type param.
* @customfunction
* @author Noriaki UCHIYAMA (twitter: @noriaki)
*/
function KANA(input, output_type) {
output_type = output_type ? "hiragana" : "katakana";
return perform(output_type, input);
}
さらに1箇所だけ修正します。下図の反転選択されている部分を、先ほど発行したgooラボアプリケーションIDで置き換えます。
英数字の羅列のアプリケーションIDをペーストするとこんな感じです(自身のアプリケーションIDは非公開情報なので一部マスクしています)。
「ファイル」→「保存」(またはCtrl+S
/Command+S
)すると、下図のようにプロジェクト名を聞いてくるので、適当な名前を付けて「OK」をクリックします(デフォルト名称のままでもOKです)。
おめでとうございます。これで完了です。
利用方法は冒頭のGIFをご覧いただくと分かるかと思いますので再掲しておきますね。
別のスプレッドシートで利用する時は、gooラボアプリケーションID入りのコードを直接コピー&ペーストすれば、ほとんどの手順が省略でき、「スクリプトエディタを開く」→「アプリケーションID入りのコードをペーストして保存」だけでOKですね。
簡単ですがGoogle Apps Scriptの利用例として、皆さま良いGoogleスプレッドシート生活を!!