スプレッドシートで漢字のよみがな(ふりがな)・ルビを取得する方法~GASによるオリジナル関数

2021年3月16日

Googleのスプレッドシートには、Excelのように漢字のよみがな(ふりがな)を取得する関数は用意されていません。

そこで、Google Apps Scriptによる漢字のふりがな・ルビをひらがなで取得するオリジナルの独自関数を作成しました。

どんなスプレッドシートでも簡単に導入できるよみがな取得のオリジナル関数を紹介します。

スプレッドシートにはふりがな取得するPHONETIC関数がない

Googleスプレッドシートと同様の表計算ソフトであるExcelには、漢字のよみがなやふりがな・ルビを取得するPHONETIC関数が用意されています。

このPHONETIC関数で引数に漢字が含まれたセルを指定すると、その漢字のふりがな・ルビを出力してくれます。

PHONETIC関数のふりがなの精度は100%ではないものの、漢字からふりがなを手入力でセルに打ち込むよりも圧倒的に作業時間が短縮できます。

しかし、競合サービスであるスプレッドシートにはふりがなを取得するPHONETIC関数が用意されていません。

Googleスプレッドシートは主にアメリカで開発が行われているため、言語は英語のアルファベットがベースです。

日本語のように漢字とひらがなという2種類も文字が混在していないため、そうしたよみがな・ふりがなを取得する必要性がないためと考えられます。

スプレッドシートでふりがなを取得するオリジナル関数を自作

ネット検索でスプレッドシートのふりがなを取得する方法を調べましたが、残念ながら標準の機能では存在していませんでした。

Qiitaにはgooラボのひらがな化APIを使った独自関数の作成記事がありましたが、ひらがな化APIを利用するには、gooラボに事前に登録作業が必要などとても手間がかかります。

もって簡単にスプレッドシートで漢字のふりがなを取得できるオリジナル関数ができないかと考え、ふりがな取得のオリジナル関数を自作してみました。

その結果、利用したいスプレッドシートに数十秒で導入可能なふりがな取得の独自関数を作成できました。

ひらがな化API「よみたんAPI」を使用(会員登録不要)

今回、スプレッドシートで漢字のふりがな・ルビを取得するために使用するのは、よみたんAPIというひらがな化APIです。

よみたんAPIは非商用の利用で1日のリクエスト回数が1万回以下なら、無料利用できます(企業内利用は有料)。

gooラボのように会員登録も不要なので、簡単にAPIを利用することができます。

スプレッドシートのふりがな取得オリジナル関数「getPhonetic」のコード

スプレッドシートで利用可能なGoogle Apps Scriptによるオリジナル関数getPhonetic関数のコードを紹介します。

function getPhonetic(word) {
  //スペースや改行などの特殊文字はすべて取り除く
  word = word.replace(/[\r\n\t\s]+/g, "");
  //よみたんAPIのリクエストURLによみがなを取得したい文字をパラメータに付与
  let url = "https://yomi-tan.jp/api/yomi.php?ic=UTF-8&oc=UTF-8&k=h&n=3&t=" + word;
  //よみたんAPIにhttp getで漢字のよみがなをリクエストし、3つの応答結果のうち1個目を取得
  let phonetic = UrlFetchApp.fetch(url).getContentText().split(",")[0];
  //スプレッドシートのカスタム関数によみがなを返却
  return phonetic;
}
スプレッドシートで漢字からよみがな・ふりがなを取得するオリジナル関数(カスタム関数)のGoogle Apps Scriptのコード

わずか10行と簡単なGASコードですが、引数を指定したセルのデータを取得し、ふりがなAPIにリクエストして結果を出力しています。

スペースや改行コードを含んでいてもカスタム関数がエラーしないように、除去する処理を冒頭に行っています。

スプレッドシートのふりがな取得「getPhonetic」導入方法

Google Apps Scriptで作成した、ふりがな取得のgetPhonetic関数は、スプレッドシートにとても簡単に導入することができます。

1.スプレッドシートのメニューから「ツール>スクリプトエディタ」を選択します。

2.GASのスクリプトエディタが開くので、前述のコードをコピペして貼り付け、「ctrl + s」で保存します。

※プロジェクト名の入力名を求められた場合は、デフォルトの「無題のプロジェクト」または任意の名称を入力します。

3.getPhonetic導入が完了したので、任意のセルで「=getPhonetic(“ふりがなを取得したいセル")」でオリジナル関数を入力します。

Googleスプレッドシートに漢字のふりがな・よみがなを取得する関数がないので、オリジナル関数をGASで作成し、使用した結果

このように今回自作したgetPhoneticのカスタム変数でセルに含まれた漢字のよみがな(ふりがな)を取得することができました。

セル内の改行や空白を削除する処理を行なっているため、ふりがなでは空白や改行がなくなっています。

スプレッドシートでふりがなを取得したい場合には、ネットで紹介されている方法よりも会員登録も不要で簡単・お手軽です。

まとめ・終わりに

今回、Googleスプレッドシートで漢字が含まれるセルのふりがな(ルビ)を取得する、Google Apps Scriptで自作した独自オリジナル関数を紹介しました。

非商用なら無料利用できるひらがな化APIを使い、紹介したオリジナル関数をスプレッドシートのスクリプトエディタで貼り付けるだけで「=getPhonetic()」で利用できます。

残念ながら、Excelには標準で搭載されているPHONETIC関数のようなふりがな取得の関数がありません。

ただ、今回作成したgetPhoneticのカスタム関数で同等のことが実現できるので、ふりがなを取得したい場合はぜひご活用ください。