口座の種類ごとに、登録が足りない必須項目を見つけるには?
口座の種類と必須項目から必要な組み合わせを作って保存し、実績にない口座・項目の組を探します。実績がゼロの口座も対象です。
口座ごとに必須項目がそろっているかを調べるには、まず「登録されているはずの項目」の一覧を作ります。CoreならX・Y、PlusならZが必要というルールを口座一覧に結合し、実際の登録内容と照合する方法です。
実績だけでは必要な行を決められない
この例では、架空のAccountsに載っている口座をすべて確認します。Actualに登録が1件もないA3も対象です。Requirementsには、Typeごとに必要なItemだけを記載します。この2表から「どの口座にどの項目が必要か」を示す一覧Expectedを作り、Actualと比較します。
表中の∅は空欄を示す説明用の記号で、入力する文字ではありません。
Accounts
| Account | Type |
|---|---|
| A1 | Core |
| A2 | Core |
| A3 | Plus |
Requirements
| Type | Item |
|---|---|
| Core | X |
| Core | Y |
| Plus | Z |
Actual
| RecordedAccount | RecordedItem |
|---|---|
| A1 | X |
| A2 | X |
| A2 | Y |
必要な組を保存して実績と照合する
- AccountsとRequirementsだけを読み込みます。Type同士を「一致する行のみ」で結び、Requirements側のTypeだけ非表示にします。Account・Type・Itemの3列を残します。
- 「結果のプレビュー」でA1–X、A1–Y、A2–X、A2–Y、A3–Zの5行を確認します。次にActualと照合する基準表として使うため、「結果を保存」でExpectedというExcelファイルに保存します。
- 新しい作業で保存したExpectedと元のActualを読み込みます。Expectedを画面左に置き、Account→RecordedAccount、Item→RecordedItemを接続します。「左のシートの全行を保持」を選び、2列とも一致する条件にします。
- 「結果を整理」で「絞り込み」を追加し、ActualのRecordedItemを選びます。条件を「空の値」にして「適用」を押します。元データの条件ではなく、結合後にできた空欄を調べます。
- Account・Type・Itemと実績側の2列を表示したまま、未一致の根拠を確認します。A1–YとA3–Zの2行を保存します。
実績がないA3も確認する
A1にはXがあり、Yがありません。A3は実績がゼロでもPlusの必須項目Zが不足として出ます。A2にはXとYの両方があるため除かれます。右側の空欄は必須項目名がないのではなく、その組に対応する実績が見つからないことを示します。
| Account | Type | Item | RecordedAccount | RecordedItem |
|---|---|---|---|---|
| A1 | Core | Y | ∅ | ∅ |
| A3 | Plus | Z | ∅ | ∅ |
基準の不足と実績の不足を分ける
Accountsには同じAccountを重複させず、Typeも入力します。RequirementsはTypeとItemの組み合わせを重複させず、Itemを空欄にしないでください。AccountsにあるTypeがRequirementsにもそろっていないと、必要な項目の一覧を作れません。
この手順で探すのは不足項目だけで、Actualの余分な登録は確認できません。保存と読み込み直しは手動で行い、口座や必須項目が変わったらExpectedの作成からやり直します。
自分のファイルで始めましょう
JOIN SHEETを使ってみる ↗Excel・CSVの作業はPCでご利用ください。
新しいタブで開くため、作業中のデータは置き換わりません。
サンプルの検証日:
出典
How to validate completeness of one list against another (Reddit r/excel)
原文は口座の種類に応じたcompositeの要件と実際の一覧を照合し、不足した組を表示する方法を尋ねています。 上の表と手順は、この質問を参考に別途作成した架空の例です。質問者の実データや製品の利用体験ではありません。