業務データの整理に!Power Queryで日別データを年単位にスッキリ整理

Excel

先輩、ちょっと相談いいですか?この日別データを年ごとにまとめたいんですけど、手作業だと大変で…。なんかいい方法ないですか?

パワークエリでデータを加工するときに、グループ化とマージをうまく使うと、必要な項目だけキレイに抽出できるよ。

毎日のデータを年単位で整理したい…そんなとき、手作業でフィルター&コピーしていませんか?

今回はExcelの「Power Query(パワークエリ)」を使って、毎日のデータから年単位の情報をまとめる方法を紹介します。

メインで使うのは「グループ化」と「マージ」の2つの機能。難しそうに見えるかもしれませんが、手順を押さえればとってもシンプル!

「年ごとの最終データをまとめたい」「前年と今年のデータを並べて比較したい」――そんな業務でよくある(?)悩みを解決する、実践的なテクニックです!

データ分析や資料作成の効率がグッと上がるので、覚えておいて損なしです♪

手作業で時間をかけていた作業が、気づけばワンクリックでできるようになるかも!?

年別集計の準備!まずは日別データをコピーしよう

今回使うのは、以前の記事にも登場した架空の「株価データ」です。

日ごとの株価に、前日の終値をくっ付けたもので、「日付」「終値(株価)」「前日終値」の3つの項目があります。

この日別データを、年ごとのデータに変えて、1年につき1行になるようにまとめていきます。

作りたいのは、こんな感じの情報です。

  • :その年が何年か
  • 営業日:その年のデータ(日数)の合計
  • 前年終値:その年の前年末の終値
  • 年高値:その年に記録した一番高い終値
  • 年安値:その年に記録した一番安い終値
  • 年末終値:その年の最後の日の終値

日別データが用意できたら、Power Query エディターを開きます。

今回は、加工前の元データも使うので、まずはコピーを作っておきましょう

左のテーブル一覧からコピーしたい日別テーブルを「右クリック」→「複製」で作成します。

テーブル名は分かりやすい名前に変えておきましょう。

今回はこんな感じで名前をつけます。

  • 複製元の日々のデータを「日別テーブル
  • 複製後の加工するテーブルを「年別テーブル

日別データを年単位に変換する4ステップ!

手順1:日付から「年」を取り出そう

まずは、日付の列から「年」だけを抜き出して、新しい列を作ります。

日付の列を選択して、メニューの「列の追加」→「日付」→「年」→「年」をクリックしていくだけです。

これで、年ごとの集計をする準備ができました!

手順2:年ごとにグループ化しよう

さっき取り出した「年」を使って、年ごとにデータをまとめていきます

メニューの「変換」→「グループ化」をクリック!

出てきた「グループ化」の画面で、「詳細設定」を選んで、グループの基準を「年」にします。

次に、新しく作る列を設定していきましょう。今回は次の5つを追加します。

  • 1つ目:「年初日」
    「日付」列の最小を使って、その年の最初の取引日を出します
  • 2つ目:「年末日」
    日付」列の最大を使って、その年の最後の取引日を出します
  • 3つ目:「高値」
    「終値」列の最大で、その年の一番高い終値が分かります
  • 4つ目:「安値」
    「終値」列の最小で、その年の一番安い終値が出せます。
  • 5つ目:「営業日」
    行数のカウントを使えば、その年に何日取引があったかが分かります。

すべて設定したら「OK」をクリック!

手順3:日別データとマージして、終値を取り出そう

ここが今回のポイント!

さっきグループ化で出した「年初日(最小日付)」と「年末日(最大日付)」を使って、元の日別データとマージ(くっつける)していきます。

メニューの「ホーム」→「クエリのマージ」をクリック!

マージのときは、次のように指定しましょう。

  1. 「年初日」を使って、年別テーブル側の照合列にします
  2. マージする相手は、日別テーブル(コピー元のデータ)です
  3. 日別テーブル側は、「日付」列を選びます
  4. 結合の種類は「左外部(最初の行すべて、および2番目の行のうち一致するもの)」を選びます

マージができたら、追加された列の右側にある展開アイコン(矢印のようなマーク)をクリックして、必要な列だけ取り出します。

今回は前年末の終値が欲しいので、「前日終値」の列を選びましょう。

列名は「前年末終値」にしておきます。

次に、同じやり方で「年末日」「日別テーブル」の「日付」を使ってもう1回マージします。

今回はその年の終わりの終値が欲しいので 「終値」の列を選んで、「年末終値」という名前にしておきます。

まとめると、こうなります。

  • 最小日付 → 「前年末終値」(前年の最後の取引日の値)
  • 最大日付 → 「年末終値」(その年の最後の取引日の値)

手順4:最後に見た目を整えて完成!

仕上げです!

使わない列は削除して、必要な列だけを残してスッキリ整えましょう。

あとは、これをExcelに読み込めば完成!

これで、年ごとの情報がパッと見で比較できるようになります。

しかも関数ナシでここまでできちゃうから、すごくスマートです♪

まとめ

Power Queryを使えば、日別のデータから年単位の集計が簡単に行えます。

手作業では大変だった処理も、数ステップで完了するのがPower Queryのすごいところ。

また、たとえば「月ごと」や「四半期ごと」といった場合にも、同じように「月」や「四半期」を抽出 → グループ化 → マージという流れで対応できます。

Power Queryを使えば、毎月・毎年発生するルーチン作業も驚くほどスムーズになります。

ぜひ業務でもガンガン活用して、時短&効率アップ、そして残業ゼロを目指していきましょう!

すごい…!パワークエリって、関数使わなくてもここまでできるんですね!年ごとの比較も一目でわかるし、めっちゃスッキリしてて感動です…!

これは他のデータでも使えそう…さっそく試してみます!