2024年9月20日金曜日

Excel パワークエリでWebデータ取得を自動化!URLパラメータをセル値で動的に変更する方法

## Excel パワークエリでWebデータ取得を自動化!URLパラメータをセル値で動的に変更する方法 **埋め込み動画URL:** https://youtu.be/hW3MJD2Srj4 ## 複数の銘柄コードを一括取得!Excel Webクエリ自動化のススメ ExcelでWebサイトからデータを取得したいと思ったことはありませんか? 株価や為替レート、商品価格など、日々変動する情報を手作業でコピー&ペーストするのは面倒ですよね。 そんな時に便利なのが、Excelの「Webクエリ」機能です。 Webクエリを使えば、Webページ上の表形式のデータを簡単にExcelに取り込むことができます。 しかし、銘柄コードなど、URLの一部が変わる場合、一つずつWebクエリを作成するのは手間がかかります。 そこで今回は、 **Excelのパワークエリ機能を活用して、URLのパラメータをセル値で動的に変更し、複数の銘柄コードのデータを自動的に取得する方法** を解説します。 ## パワークエリとは? Webクエリとの違い パワークエリは、Excelに搭載されている強力なデータ収集・加工ツールです。 Webクエリと同様にWebサイトからのデータ取得が可能ですが、さらに高度なデータ加工・変換機能を備えています。 **Webクエリとの主な違い** * **データ加工機能:** パワークエリは、データの整形、結合、変換、集計など、様々な加工処理をGUI操作で行えます。 Webクエリは、データの取得のみが可能です。 * **動的なデータ取得:** パワークエリでは、Excelのセル値を参照してパラメータを動的に変更し、URLを自動生成できます。 Webクエリでは、URLを手動で入力する必要があります。 ## 今回の動画で解説する内容 動画では、金融機関のWebサイトから信用取引残高のデータを取得する例を用いて、以下の手順を解説しています。 1. Webクエリでデータを取得し、Excelシートに読み込む。 2. Power Queryエディターを起動し、Webクエリを複製する。 3. 複製したクエリの名前を変更し、セルB5からデータを読み込むように設定する。 4. セルB2に銘柄コードを入力し、名前範囲"URL"として定義する。 5. 詳細エディターでコードを修正し、セルB2の値を参照してURLを動的に変更する処理を追加する。 6. データのプライバシー設定を行い、保存する。 7. 別の銘柄コードに変更して、データ更新を実行し、正しくデータが取得できることを確認する。 8. 取得したデータのプラス値とマイナス値を、区切り記号を使って分割する。 ## パワークエリでURLパラメータを動的に変更する方法 動画内で解説している、URLパラメータを動的に変更するコードのポイントは以下です。 * **名前範囲"URL"から銘柄コードを取得:** `strNO = Excel.CurrentWorkbook(){[Name="URL"]}[Content]{0}[Column1]` * **取得した銘柄コードを使ってURLを組み立て:** `strURL = "https://irbank.net/" & Number.ToText(strNO) & "/zandaka"` * **組み立てたURLでWebページのコンテンツを取得:** `Web.Page(Web.Contents(strURL))` このコードをパワークエリの詳細エディターに追加することで、セルB2に入力した銘柄コードに応じて、自動的にURLが生成され、Webサイトからデータを取得できるようになります。 ## まとめ:パワークエリで業務効率化! 今回の動画で紹介した方法は、他のWebサイトにも応用できます。 パワークエリを使いこなせば、Webサイトからのデータ取得や加工を自動化し、業務効率を大幅に向上させることができます。 ぜひ、動画を参考にパワークエリに挑戦してみてください!