見出し画像

Power Automate DesktopにてExcel検索をSQLでしてみたハナシ

★Excel検索・置換のアクションが追加されました!★
2021年8月のアップデートで、アクション「Excelワークシート内のセルを検索して置換する」が追加されました🙌✨
note書きましたので、よければこちらもご覧ください😋
Power Automate DesktopにてExcel検索を新アクションでやってみたハナシ

SQLは、職業訓練のPHPの授業の中で少しだけ教わったことがありました。
その程度のレベルなので、おかしなこと書いてるかも知れませんが、忘れないようにアウトプットしておきます🥳

きっかけは、SQL変態 かわっちさんのリプ。

アクションの中に「Excel検索」がないなぁと思ってツイートしたときのリプなのですが、SQLを使うという私の中に一切なかった選択肢。

かわっちさんから「SQLのお約束」の部分のデータをいただいたので、アレンジして作ってみました😆

【事前準備①】Microsoft Access データベース エンジンのダウンロード

SQL接続をするために、まずはこれが必要です。
え?これが何かって…?
…それは検索して有識者のページを見に行ってください…🙊
Microsoft Access データベース エンジンは、ここからダウンロードできます。

【事前準備②】用意したExcelデータ

こんなExcelデータを用意しました。
左:おみやげデータ.xlsx       右:出張先リスト.xlsx

画像21

おみやげデータの「県」を出張先リストで検索し、「おみやげ」を出張先リストに転記します!

① おみやげデータを読み取る

ここからフローの作成に入ります。

おみやげデータを起動します。
アクションの検索で「Excel」と入力すると表示される「Excelの起動」を使用します。

画像2

設定はこんな感じ。

画像5

今回は読み取り範囲は決め打ちにします。
使用するアクションは、先ほどのExcelの起動の下にある「Excel ワークシートから読み取り」

画像4

設定はこんな感じ。

画像5

これでおみやげデータのこの範囲が、データテーブル型の変数「ExcelData」の中に入ったことになります。

画像6

※毎回変わる行列のデータを処理する場合は、ロボ研のこちらの動画がわかりやすいです!

② SQL接続をする

SQLに使用する(こういう言い方でいいのかわからない😅)出張先リストのフルパスを変数に設定します。

「変数の設定」を検索。

画像7

設定はこんな感じ。

画像8

SQLに接続します。
「SQL」と検索して、「SQL 接続を開く」を選択。

画像9

設定はこんな感じ。

画像21

接続文字列の書き方は、お約束的な感じ。
参考にさせていただいたページはこちら。ありがとうございます🙇‍♀️

★2021/4/12追記★
Excelファイルの種類により記述が違うそうです😳
Microsoft Access データベース エンジンをダウンロードしたページの「インストール方法」にも記載がありました。

画像22

ご丁寧に教えてくださったZeroSysさま、ありがとうございます!

③ 読み取ったおみやげデータ分 検索・転記を繰り返す

「for」を検索して、「For each」を選択します。

画像11

設定はこんな感じ。

画像12

変数「ExcelData」は、おみやげデータが入っているデータテーブルです。
ExcelDataの中のA列「県」の値を順番に検索します。

検索文字を格納する変数を作成します。
変数名はわかりやすく「Search」に変更します。

画像13

宛先には、For eachで『生成された変数』「CurrentItem」のインデックス0を指定します。

画像14

データテーブルの行列の数え方として、1列目はインデックス0と数えるためです。

画像15

続いて、転記するおみやげも変数に格納しておきます。
こんな感じ。

画像16

これで繰り返しの一番始めには、変数「Search」には「北海道」が、変数「Omiyage」には「インカのめざめ」が格納されます。

変数「Search」を出張先リストから検索し、該当行のおみやげ列に変数「Omiyage」を転記します。

使用するアクションは「SQL ステートメントの実行」。

画像17

設定はこんな感じ。

画像18

②の「SQL 接続を開く」で出張先リストを指定しているので、ここではシート名(2021)を指定します。
指定したシート名の出張先列で 変数「Search」(北海道)を検索し、おみやげ列に変数「Omiyage」(インカのめざめ)を入力します。

最後にSQL接続を閉じておきます。

画像19

こちらは設定は特にないので、入れるだけで大丈夫です。

④ 実行します

全体のフローはこんな感じ。

画像20

動くかなー 動くかなー (*´д`*)ドキドキ
実行します (。・Α・)σポチッ ▶

出張先リストはフロー上では開いて来ないので、実行完了後に開いてみると…

画像21

じゃーーーん!!
やったー!できたーーー!!🙌✨ ←本気で嬉しい
フォントがYu Gothicになってしまってるのは、見逃してやってください🙊

⑤ 所感

まさかSQLを使うやり方を自分がすることになるとは思いませんでした🤣
でも確実にスキルアップしましたよ!💪
きっかけを与えていただいた かわっちさん、ありがとうございました!!
設定方法を教えていただけなければ、確実に挫折していました😂

Power Automate DesktopにExcel検索のアクションができるのが一番ですが、私に新しい引き出しが増えたことが嬉しいです🥰

事務員が少しの背伸びでできる効率化を目指す🌈✨ 自分の好きなものを、楽しく発信していきたいです! いただいたサポートは学習費にあてさせていただきます🥰