やじうまの杜
日付、住所、文字列、辞書、翻訳……なんでもござれの「ExcelAPI」がスゴい
「Excel 2013」以降で利用できる「WEBSERVICE」関数と組み合わせて使う無料のWeb API
2022年8月29日 06:45
「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
いささか旧聞に属しますが、「はてなブックマーク」で「ExcelAPI」というWebサイトが話題になっていました。「Excel 2013」以降で利用できる「WEBSERVICE」関数を用いて、さまざまなデータを「Excel」に取り込むためのデータ提供を目的としたサイト――なのだそうです。
このWebサイトの有用性を理解するには、実際に使ってみるのが早いでしょう。まずデスクトップ版の「Excel」を開き、適当なセルに以下の数式を入力します。
=WEBSERVICE("http://api.excelapi.org/post/address?zipcode=1000014")
すると、「zipcode=」以降に入力した郵便番号に合致する住所がセルに表示されます。
この機能は「郵便番号から住所を取得」を使っており、ヘルプページを見ると、
- URL:http://api.excelapi.org/post/address
- zipcode:郵便番号(必須引数)
- parts(オプション引数):都道府県(1)・市区町村(2)・町域(3)のいずれを返すかを指定
であることがわかります。なので、
http://api.excelapi.org/post/address?zipcode=(郵便番号)&parts=(パーツ引数)
という形式で問い合わせ先のURLを組み立て(引数がもう1つある場合は「&」で「(key)=(value)」をつなげてあげます)、「WEBSERVICE」関数に渡してあげるだけです。シンプルで、しかも便利ですね!
機能も非常に豊富で、執筆時現在、以下がサポートされています。基本的に「Excel」向けにデータが加工されているため、「Google スプレッドシート」にはあまり向いていませんが、ちょっとした加工で使えるようになるとの由。
- JSON形式のWebAPIをExcel形式に変換(メインとなる機能)
- 特殊な日付型の統一
- 祝日の一覧を取得
- 祝日の名称を取得
- 祝日の有無を判定
- 閏年を判定
- 住所から都道府県コードを取得
- 住所から市区町村コードを取得
- 住所の統一
- 住所の分割
- 郵便番号から住所を取得
- 郵便番号から住所の読み仮名を取得
- 住所の漢数字を算用数字に変換
- 住所から郵便番号を取得
- 文章から電話番号を抽出
- 国際電話番号から国名コードを取得
- 国際電話番号に変換
- 電話番号が有効か否かを判定
- 国内電話番号に変換
- 素数の個数
- 素数か否かを判定
- 漢数字を算用数字に変換
- ひらがなをカタカナに変換
- カタカナをひらがなに変換
- 全角カタカナを半角カタカナに変換
- 半角カタカナを全角カタカナに変換
- ひらがなを漢字に変換
- 漢字をひらがなに変換
- 文字列が条件に一致するかを判定
- 文字列を抽出
- 文字列を置換
- 文字列を指定文字で分割
- 英和辞典
- Wikipediaの記事の概要を取得
- 日英翻訳
- 英日翻訳
- 日中翻訳
- 中日翻訳
- 日韓翻訳
- 韓日翻訳
- 仮想通貨の価格を取得
- 通貨の価格を取得
- 法人番号を取得
- 法人の基本情報を取得
- 法人の財務情報を取得
- 名前の姓名の分割
- パスワードを作成
いずれもスクレイピング禁止のWebサイトは利用しておらず、一般に公開されているAPIや、作者が自動生成したデータをもとにしているのだそうです。アクセス頻度に制限も設けられていないので、(節度を守ったうえで)バリバリ使わせていただきましょう!
ちなみに、Web版の「Excel」はサポートされていないので注意してください。