ecoslymeです。
RPA(WinActor)化をする時に、何かとエクセルを一緒に利用することが非常に便利です。
特に、日次や月次のデータ更新関係であれば、エクセルを利用する場面が多いのではないでしょうか。
エクセル(Excel)のピボットテーブルはそんなWinActorと非常に相性がよく、私も頻繁に使っています。
この記事では、WinActorでピボットテーブルをうまく利用する方法を説明します。
ちょっとひと工夫するだけで、WinActorで作成するシナリオ工数が減る可能性があり、更に不具合や漏れを解消することができます。
元データと結果
⇓
ピボットテーブルでフィルタをかけて必要なデータを取得する
それでは早速、ピボットテーブルのWinActorと相性の良いフィルタの掛け方についてご紹介します。
特定の項目に該当するものだけ毎月自動的に抽出できるようにします。
以下のデータがあるとします。
このデータを元にピボットテーブルを作成します。
以下のようにします。
ピボットテーブルの作り方が分からない方は以下の記事をご覧ください。
ecoslymeです。 この記事では、ピボットテーブルの基本的な使い方を説明します。ピボットテーブル(Pivot Table)はエクセル(Excel)の中にある機能です。 エクセルで、データがたくさん[…]
上のピボットテーブルで、区分が「社員ランクA」と「社員ランクC」の人のみフィルタで抽出したいと思います。
※社員ランクBの人を除外したい場合を想定
なお、今回はリストにないですが、今後「社員ランクD」の人が今後リストに上がってくる可能性があり、その「社員ランクD」の人もフィルタで抽出したいと考えています。
WinActorでフィルタをかけるとなると、複数条件のフィルタ設定から、社員ランクAと社員ランクCの人をフィルタすることは可能だと思いますがやや面倒です。
社員ランクがA〜Dまでなら良いですが、さらに今後E、F、Gと増えていけばその度にWinActorのメンテナンスが面倒になります。
このメンテナンスを、エクセルで行うのかWinActorで行うかの違いですが、エクセルで行った方が断然楽だと思います。
エクセルの元データに少し工夫をします。
H列に「Key」という項目を追加します。
H2セルに以下の数式を入力します。
「 =IF(OR(B2=”社員ランクA”,B2=”社員ランクC”,B2=”社員ランクD”),”1″,””) 」
何を意味している数式というと、
- 仮にB2セルが「社員ランクA」か「社員ランクC」か「社員ランクD」であれば、”1“と入力
- それ以外であれば空欄のまま
という数式です。
さらにフィルタ抽出したい項目があれば、数式の中で以下の青字のように追加していって頂ければ結構です。
OR ( B2 = “社員ランクA” , B2 = “社員ランクC” , B2 = “社員ランクD” , B2 = “社員ランク○ , ・・・ )
この上で作成したH2セルの数式をH列の下の行へコピペすればOKです。
H10セルまでではなく、H200セルまで数式を入力するなど、今後行が増えてきたことを想定して予め数式を余分に入力しておく
このKeyをピボットテーブルの中に入れて下さい。
「ピボットテーブル分析」から「データソースの変更」からピボットテーブルの元データの範囲にKeyを入れれば良いです。
Keyをピボットテーブルの一番右へ置いておき、ここでフィルタを設定します。
WinActorとしては毎月(もしくは毎日)、元データの表にデータを上書きして、ピボットテーブルを更新すれば良いだけになります。
なお、ポイントとしては、データの量(行)が増えた時を想定して予めピボットテーブルの範囲を広めに取っておきます。
すると、「(空白)」というセルが生じてしまうので、フィルタで”1“のみ選択した状態にすることです。
それに応じて、Keyの数式も元データよりもっと下の行へ数式を貼り付けておくことも忘れないで下さい。
フィルタしたい項目が複数あれば、「Key1」、「Key2」、「Key3」、、、というようにKeyを増やしていけば、メンテナンスも行いやすいです。
なお、WinActorで行う場合は、元データを貼り付けた後、ピボットテーブルの例えばB5セル(ピボットテーブル内であればどこでも)を選択後に、Alt + F5を押せばピボットテーブルが更新されます。
ピボットテーブル更新のショートカットキーとなります。
毎回フィルタを設定するという工数が減ります。
また、ピボットテーブルの範囲を広くとることによって「(空白)」のフィルタが生じてしまう現象に対して、うまく対処できるようになっています。
この「(空白)」フィルタへの対応が一番のメリットかと思っています。
最後に
いかがでしたでしょうか。
WinActorで業務効率化から、このような月次のエクセルでの処理の業務は非常に多いのではないかと思います。
RPA(WinActor)がなくても、このエクセルは誰でも作れますので、非常にオススメです。
少し発想を変えるだけで、日々の業務が「データのコピペ」+「ピボットテーブルの更新」で終わってしまうのです。
自分の業務でこの記事と同じことができないか改めて確認頂き、単純で無駄な業務をどんどん効率化していきましょう。