PowerAutomateDesktop IF文|始まる始まらない判定と複数条件でExcel処理自動化

PowerAutomate

この記事では、Power Automate Desktop の IF 条件を使って、
Excel のセル内容を判定し、自動で処理を行う方法をご紹介します。

【基礎】Power Automate DesktopのIF条件で「始まる」を判定する方法

フロー全体

今回のフローは次のような流れになります。
1つずつフローを解説していきます。


 
 

使用する Excel ファイルの構造

シート名は 「Orders」 で、3つの列で構成されています。
A列の文字列が 特定の文字で「始まっているか」 を IF 条件で判定します。
条件に一致した行のみ、C列に「該当」 という文字を自動で書き込みます。


 
 

フロー作成手順

1. 「Excel の起動」

対象のExcelパスを指定します。


 

2. 「変数の設定」

後ほど Excel へ書き込む際に行番号が必要になるため、
「変数の設定」 を使って行番号カウンターを準備します。

・変数名:i
・値:0


 

3. 「アクティブな Excel ワークシートの設定」

次に、処理対象となるシートをアクティブにします。
今回は 「Orders」シートを使用するため、ワークシート名:Orders を選択します。


 

4. 「Excel ワークシートから読み取る」

シート内のデータをまとめて取り込むため、
「Excel ワークシートから読み取る」 を追加し、
取得したデータを ExcelData という変数に保存します。

これにより、Excel の全行データを配列として扱えるようになります。


 

5. 「For each」

次に、読み取ったデータを 1 行ずつ処理 するため、「For each」 を使用します。

・保存先の変数名:CurrentRow


 

6. 「変数を大きくする」

行番号を 1 行ずつ進めるため、
「変数を大きくする」 を使い、i を 1 増やします。

これで、現在処理中の Excel 行番号が正しくカウントされます。


 

7. 「IF」

ヘッダー行を処理しないように行番号の条件を追加します。


 

8. 「IF」

IF 条件で Excel の A 列が特定の文字で始まっているか をチェックします。

%CurrentRow[0]% は Excel の A列(商品コード) を表します
・演算子に 「先頭」 を指定し、
 商品コードが指定した文字(A-)で始まっている場合 に条件が成立します
・大文字・小文字を区別しない を ON にすることで、表記揺れを無視して判定できます

この判定が True となった行に対して、後続の処理を実行します。


 

9. 「Excel ワークシートに書き込む」

IF 条件が True の場合、C 列(処理結果)に「該当」と書き込みます。
・列:C(C列)
・行:%i%
・書き込む値:該当


 
 

出来上がったファイル(出力Excel)のイメージ

商品コードが 「A-」で始まっている行だけに、
自動的に 「該当」 という文字が入力されます。


 
 

【基礎】Power Automate DesktopのIF条件で「始まらない」を判定する方法

フロー全体

今回のフローは次のような流れになります。


 
 

使用する Excel ファイルの構造

シート名は 「Orders」 で、3つの列で構成されています。
IF 条件で、A列の商品コードが指定した文字で始まっていないか を判定します。
指定した文字で始まっていない行のみ、C列へ 「該当」 と自動で書き込みます。


 
 

フロー作成手順

フローの構成は、最初にご紹介した
【基礎】Power Automate DesktopのIF条件で「始まる」を判定する方法」とほぼ同じです。
違うのは フローの8番目の IF文 のみですので、その部分のみ解説します。

=======================

「IF」

IF 条件で A 列の商品コードをチェックします。

%CurrentRow[0]% は Excel の A列(商品コード) を表します
・商品コードが指定した文字で始まっていないか を判定します


 
 

出来上がったファイル(出力Excel)のイメージ

商品コードが 「A-」で始まっていない行だけに、
自動的に 「該当」 と入力されます。


 
 

【応用】Power Automate DesktopのIF条件で「始まる」+複数条件(AND)を判定する方法

フロー全体

今回のフローは次のような流れになります。


 
 

使用する Excel ファイルの構造

シート名は 「Orders」 で、3つの列で構成されています。

IF 条件で A列の商品コードが指定した文字で始まっているか、
さらに B列の金額が150以上か の 2 つを判定します。

この 複合条件をすべて満たした場合のみ、
C列に 「該当」 という文字を自動で書き込みます。


 
 

フロー作成手順

フローの構成は、最初にご紹介した
【基礎】Power Automate DesktopのIF条件で「始まる」を判定する方法」とほぼ同じです。
違うのは フローの8番目の IF文 のみですので、その部分のみ解説します。

=======================

「IF」

商品コード(A列)と金額(B列)の両方を評価し、
条件を同時に満たすかどうかをチェックします。

判定内容は次の2つです:
・A列の商品コード → 指定した文字(例:A-)で始まっている
・B列の金額 → 150 以上である

・最初のオペランド
%StartsWith(CurrentRow[0], 'A-', True) AND CurrentRow[1] >= 150%
(StartsWith の第3引数を True にすることで、大文字・小文字の違いを無視して判定できます)

・2番目のオペランド
TRUE

このように 2 つの条件を同時に満たすか を IF の式で記述します。


 
 

出来上がったファイル(出力Excel)のイメージ

条件に一致した行(商品コードが「A-」で始まっていて、
なおかつ金額が150以上の場合)のみ、
結果欄に 「該当」 と自動入力されます。


 
 

【応用】Power Automate DesktopのIF条件で「始まらない」+複数条件(AND)を判定する方法

フロー全体

今回のフローは次のような流れになります。


 
 

使用する Excel ファイルの構造

シート名は 「Orders」 で、3つの列で構成されています。

・A列の商品コードが指定した文字で始まっていない(NOT 条件)
・B列の金額が 150 以上である

これら すべての条件を満たした行 に対して、
C列へ 「該当」 と自動で書き込みます。


 
 

フロー作成手順

フローの構成は、最初にご紹介した
【基礎】Power Automate DesktopのIF条件で「始まる」を判定する方法」とほぼ同じです。
違うのは フローの8番目の IF文 のみですので、その部分のみ解説します。

=======================

「IF」

除外条件(NOT)と複合条件を組み合わせた判定を行います。

判定する内容は次の 2 点です:
・A列の商品コードが指定した文字で始まっていない
・B列の金額が 150 以上である

・最初のオペランド
%NOT StartsWith(CurrentRow[0], 'A-', True) AND CurrentRow[1] >= 150%
(StartsWith の第3引数を True にすることで、大文字・小文字の違いを無視して判定できます。)

・2番目のオペランド
TRUE


 
 

出来上がったファイル(出力Excel)のイメージ

条件に一致した行(商品コードが「A-」で始まっておらず、
なおかつ金額が150以上の場合)のみ、
結果欄に 「該当」 と自動入力されます。


 
 

この記事がお役に立ちますと幸いです。

・【Power Automate Desktop】RPA実践テクニック・使用例まとめ
 

【Power Automate Desktop】RPA実践テクニック:使用例 29選
PowerAutomateDesktopを使って、Excelでできることをご紹介します。この記事がお役に立ちますと幸いです。ぜひお試しください!

 

「シゴトがはかどる Power Automate Desktopの教科書」
業務自動化ツールの初心者でも使えるように、初歩から丁寧に解説
繰り返し発生する作業を本書で自動化して仕事を効率化しましょう!!