1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Excelをノーコードで自動化しよう! パワークエリの教科書 第26回 「条件列」を使った区分用データの作成

マイナビニュース / 2024年11月5日 11時0分

新たに作成する列の「列名」を入力する。続いて、65歳以上を「シルバー会員」に区分する処理を指定していく。ここでは、作業日の日付が2024年11月1日として話を進めていこう。この場合、1959年11月1日以前に生まれた方が65歳以上になる。この条件を以下の図のように指定する。

続いて、条件に合致するときの出力値を指定する。今回の例の場合、「シルバー会員」と入力すればよい。

同様の手順で、25歳以上を「通常会員」に区分する処理を指定する。作業日が2024年11月1日の場合、25歳以上になるのは1999年11月1日以前に生まれた方となる。これを条件に指定し、出力値に「通常会員」と入力する。最後に、「それ以外の場合」(25歳未満の場合)に「ヤング会員」と入力すると、条件分岐処理の設定が完了する。

「OK」ボタンをクリックして「条件列」を実行し、作成された列を「生年月日」の隣へ移動すると、以下の図のような結果を得ることができる。「生年月日」に応じて「会員種別」を3種類に区分できていることを確認できるだろう。

このように、“数値データ”や“日付データ”を条件にして区分用のデータを作成することも可能である。

ただし、上記に示した例は、実務で使うには「適切とは言えない処理方法」となることに注意しなければならない。というのも、この例は“2024年11月1日に作業した場合”という限定的な処理になってしまうからだ。

その後、1週間が経過して2024年11月8日になれば、1959/11/8以前に生まれた方は65歳以上になる。同様に、1999/11/8以前に生まれた方は25歳以上になる。よって、作業を行う日に応じて「条件列」の設定を変更しなければならないことになる。これでは自動処理として使えない。

正しく処理するには、「生年月日」のデータから現時点における「年齢」を自動算出し、その「年齢」をもとにデータを区分しなければならない。そのためには、日付データを計算する方法を学んでおく必要がある。これについては、いずれ本連載で詳しく紹介していく予定だ。先ほどの例は、あくまで「条件列」の使い方だけを説明した例、と捉えて頂ければ幸いだ。

そのほか、「数値」や「日付」の範囲で条件分岐させるときは、各処理の並び順にも注意しておく必要がある。たとえば、先ほどの処理を逆の順番で指定すると、2番目の処理が機能しなくなり、65歳以上の方も「通常会員」として処理されてしまう。

これは「上に表示されている処理ほど優先順位が高い」というルールになっていることが原因だ。65歳以上(1959/11/1以前)は25歳以上(1999/11/1以前)にも該当するため、1番目の処理の時点で「通常会員」のデータが出力され、2番目の処理は実行されなくなってしまう。

このように、複数の処理(条件)を指定するときは、その並び順にも注意しておく必要がある。もしも順番を間違えてしまった場合は、各処理の右端にある「…」をクリックすると、並び順を変更できるようになる。

「条件列」が思い通りに機能しない場合の対処法として、このようなルールが存在することも覚えておく必要があるだろう。
(相澤裕介)



この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください