Excelの数式を活用して複数条件での検索を行う

記事
IT・テクノロジー
Excelで介護支援記録管理システムを作ってみる~10日目

多忙のため、再び間が開いてしまいました。
前回、パワークエリで作成したテーブルを直接加工して、特定の日付でフィルタリングしたデータを日誌に添付するための日誌シートを完成させました。
これと同様に、介護支援記録管理システムの一つの柱である動静記録を、入力済のデータから簡単にわかりやす作成できるようにします。

動静記録とは以前もふれたとおり、利用者の処遇内容を記した介護計画などを作成するさい必要となる文書で、基本的に前回の計画を策定した時点から、今回の策定に至るまでの記録データを時系列順に並べたものとなります。
従って、記録データからデータを抽出するための要素として、まず、特定の「利用者名」と期間(開始の「日付」と終了の「日付」)を必要としますが、他にも、利用者に何か事故や病変等が起きたとき、その後の対応がどうなっているか調べたいときに利用できるよう、「実施内容」でも追加的に絞り込みが行えるようにします。

まず、新たに「動静記録書」シートを作成します。このシート上に下の画像のとおり動静記録書のフォーマットを作りました。その上で、左上部に検索条件として、利用者名、期間を設定する開始日と終了日、そして実施内容を入力する部分を設けます。
スクリーンショット (320).png

一応、動静記録として表示させる記録データの数は20個までとしましたが、基本はそれぞれの施設の特性に合わせ、最大数を超えないよう設定します。
その上で、検索条件を入力する利用者名と実施内容のセルについては、データの入力規則を使い、記録テーブルに入力する方法と同様、リストから選べるよう設定します。
下の画像は実施内容の選択リストを表示させたところです。
スクリーンショット (321).png

次に、日誌シートの場合と同様、Power Query エディターを用い、記録テーブルとリンクする「動静記録用検索シート」と名付けたシート上に加工なしの「動静記録検索テーブル」を作りました。
そして、このクエリテーブルを直接加工していきます。

考え方として、利用者名、期間を設定する開始日と終了日の日付、実施内容という複数の検索条件から、それらすべてに合致するデータを検索・抽出したいとき、分かりやすく、まず、それぞれの条件が一致する場合にフラグ"1"を立て、その上で、すべてに"1"が立っているかどうか調べるフラグを立ててデータを抜き出す方法を選びました。

まず利用者名のフラグについては、動静記録検索テーブルの最右列の隣の列、一番上の行に"CK1"と表題を入力します。自動的に追加された列の最初の行に、下図のとおり、動静記録書シートの利用者名を入力するセル($B$2)の値を参照し、動静記録検索テーブルの日付がそれに一致するかどうか判定する数式として"=IF([@利用者名]=動静記録書!$B$2,1,0)"を入力します。すると他のデータ行にも、すべて同じ数式が自動的に入力されました。

次に期間のフラグですが、同様にまず[CK1]列の右に[CK2]列を作ります。そして、動静記録書シートの終了日のセル($D$3)に日付が入力されていない場合は、開始日の日付が一致するデータのみにフラグが立つようにしました。また、開始日のセル($B$3)と終了日のセル($D$3)の両方に日付が入力されているときは、AND関数でフラグを判断させるようにし、"=IF(動静記録書!$D$3="",IF([@日付]=動静記録書!$B$3,1,0),IF(AND([@日付]>=動静記録書!$B$3,[@日付]<=動静記録書!$D$3),1,0))"という数式を入力しました。

次の実施内容のフラグについては、[CK2]列の右に[CK3]列を作った上で、動静記録書シートの実施内容のセル($B$4)を参照し判断する数式、"=IF(動静記録書!$B$4="",1,IF([@実施内容]=動静記録書!$B$4,1,0))"を入力しました。
何も入力されていなければ、すべてにフラグ"1"が立つようにしています。

下の画像は利用者名を"柴田 徹子"、期間を""2024/5/10"~"2024/5/15"、実施内容は空白のままにしたときの、動静記録検索テーブルに追加したそれぞれのフラグの値です。
スクリーンショット (328).png

最後に、すべての条件に一致するかどうかのフラグを設置します。下図のとおり、[CK3]列の右に[CK4]列を作り、数式としてCK1列からCK3列までのフラグ値を乗算する数式を入力します。つまり、乗算結果が"1"となればフラグが立つことになるわけです。
スクリーンショット (329).png

下の画像は、利用者名を"柴田 徹子"、期間を""2024/5/10"~"2024/5/15"、実施内容は"介護職員申し送り"としたときの動静記録検索テーブルです。
[CK4]列のフラグに注目すると1件に絞り込まれているのがわかります。
スクリーンショット (337).png

これで動静記録書シートに複数の検索条件でデータを抽出表示させるための準備が整いました。

長くなってしまったので、続きは次回に譲ることにします。

>続きを読む

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら