タグ別アーカイブ: OR

IF 式の中でOR条件とAND条件を使う方法~Power Query~

IF式の中にOR条件とAND条件を組み入れて、条件式をうまく構築しよう】

Power Queryのカスタム列ではIF式を活用することができます

過去の記事でも紹介しましたが、IF式を複数ネストすることもできます

今回の記事では、IF式の条件式にAND条件とOR条件を使用する方法を紹介します

ポイントは何気にANDORの大文字と小文字の区別です

OR条件

下の画像には「A,B,C,D,E,F,G」のいずれかが含まれた文字列を含む列があります

「A」または「B」の文字列を含む場合には「true」をIF式で出力してみましょう!

If式の中にはText.Contains関数を使用します

このM関数は指定文字が含まれている場合には「true」を出力します

以下が今回のIF式です

if (Text.Contains([文字列],”A”)=true) or (Text.Contains([文字列],”B”)) then true else false

OR条件は小文字の「or」で指定する点は注意が必要です

AND条件

今度はAND条件にて「A」且つ「B」を含む場合には「true」を出力しましょう

今回もAND条件の指定を小文字にする点は注意です

if (Text.Contains([文字列],”A”)) and (Text.Contains([文字列],”B”)) then true else false

これでAとBを両方含む1行目だけがtrueと出力されました

<まとめ>

今回はPower QueryのIF式内にAND条件とOR条件を指定する方法を解説しました

なるべくIF式はすっきり記述した方がいいので、()を入れて条件式を明確にする工夫などを行って行きましょう

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

Filter関数~応用編~

 前回は、Filter関数の基本だけを解説しましたが、今回はFilter関数を応用して活用する方法を解説します

今回の内容としては主に次の2つです

Ⅰ.テーブルとの連携

とにかく表を見たらまずはCtrl+Tをしましょう

Ctrl+Tをして、表をテーブルにしておけば、関数の範囲もしくはをクリック一つで指定できるようになります

Ⅱ.抽出条件の複雑化(AND条件、OR条件)

AND(且つ)条件やOR条件(また)で抽出条件を指定できるのが、Filter関数の醍醐味です

今回も前回と同じデータを使用して解説します

まず、「テーブルとの連携」では前回と同じ様に、上のデータから製品別の列にて抽出条件を設定してデータを抽出します

次に製品別がⅰ)「乗用車」且つ売上金額が「50,000」超のデータとⅱ)「乗用車」または「50,000」超のデータを抽出します

テーブルとの連携

テーブル化

まずは表の上にカーソルを置き「Ctrl+T」を押します

すると、表はテーブルとして構造化されます

ちなみに、表がテーブルになると右下に次のような印が付きます

テーブルには、「Data」という名前をつけておきます

テーブル名は、テーブルデザインタブで変更が行えます

範囲及び列指定

では、まずはFilter関数の第一引数の範囲を指定します

テーブル全体を引数として指定するには、テーブルの左上で次のGIF画像のように指定します

上のGIF画像の左上に出てくる「右下向きの↘」に注目してください

上の画像の赤印の位置にカーソルを置くと、右下向きの↘が出てきますので左クリックします

そうすると、Filter関数にテーブル範囲が設定されます

これでFilter関数の第一引数である範囲が設定されました

次に第二引数である抽出条件の列を指定します

下のGIF画像のように、製品別の列の上で指定します

下の画像の赤印の箇所にカーソルを置くと、下向きの↓が出てきます

下向きの↓が出てきたら、左クリックをします

すると、第二引数が設定できます

もし、上の方法でうまくカーソルにて引数を設定できない場合には、下の表記の通り手動で入力を行ってください

範囲➡テーブル名

列➡テーブル名+[列名]

 *”[”角括弧になります

AND条件の設定

前述の通りⅰ)「乗用車」且つ売上金額が「50,000」超のデータを抽出します

AND条件を設定する場合には、抽出条件を次のような形で設定します

(条件1) * (条件2)

四則演算の掛け算と同じように「*」を使います

上の画像の数式をテキストにすると次のようになります

=FILTER(Data,(Data[製品別]=F2)*(Data[売上金額]>G2))

上記の数式を設定すれば下の画像のようにデータが出力されます

OR条件の設定

今度はⅱ)「乗用車」または売上金額が「50,000」超のデータを抽出します

AND条件を設定する場合には、抽出条件を次のような形で設定します

(条件1) + (条件2)

四則演算の足し算と同じように「+」を使います

上の画像の数式をテキストにすると次のようになります

=FILTER(Data,(Data[製品別]=F2)+(Data[売上金額]>G2))

上記の数式を設定すれば下の画像のようにデータが出力されます

<まとめ>

 今回は、Filter関数にて引数をテーブルと連携して設定する方法、及び、抽出条件をANDもしくはORで設定する方法について解説しました

いずれの方法も、これまでの関数の常識では考えられなかった処理です

何よりデータを大量に扱う人にとっては、とても実用的な処理だと思います

このブログでは、これから他の新ダイナミック関数の使い方も紹介していきます

 Filter関数は他の新ダイナミック関数と組み合わせて活用することができますので、そちらの方法についても順次解説を行って行きます

今回は以上です

最後まで記事を読んで下さり誠にありがとうございました

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

Filter関数&テーブル機能でのデータ検索

前回、検索付きリストの中で紹介した”Filter関数”は 1つの関数で複数の値を出力できるのも魅力ですが、テーブル機能と連携など、他にも便利な点がいっぱいあります!

さらに、#とあわせて使うと驚くべき結果が出力されます!

<Filter関数を使うメリット>

!複数の条件指定をAND条件とOR条件にて、簡単に使い分けられる

 ピボットテーブルと違い、AND条件に加えてOR条件も使えます。しかも、フィルター機能等より、簡単に条件指定が行えます。但し、ANDやORという指定ではなくて、*と+にて指定します

 試しに、以下のデータからAND条件でデータを取り出してみます

()内の条件(製品別=トラック、売上金額<40000)を*で組み合わせています

 次にOR条件でやってみます。こちらは+で()内を結び付けます

<Filter関数をテーブル機能と組み合わせて使うメリット>

!カーソルの簡単な操作だけで、大量のデータでも一気に各種の指定ができます

➀範囲指定⇒に注目してください

テーブル範囲の左隅にカーソルを置くと↘がでてきますので、そこでクリックするだけで、全範囲をまるごと指定することができます

➁条件範囲指定

こちらは、テーブルの見出しを指定するだけです、今度は見出しの上、↓のところでクリックするだけで条件範囲を指定できます

最後に、個人的に最も驚いた機能は#です

Filter関数が入力されているセルを指定し、後ろに#をつけるだけで、Filter関数の出力を再利用できます!

 前述の検索付きリストはこの#による再出力データを利用しています!

これはなかなか便利です

今後、他の新たな関数ともあわせて講座を用意してみたいと思います!

最後までお読みくださりありがとうございました!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村