Excelで顧客情報を管理する場合、入力用シート、エリア別一覧、担当者別の印刷用一覧など複数のシートに分けて管理すると、更新作業が効率化できます。しかし、元データを変更した際に別シートへ自動反映させる仕組みを作らないと、入力漏れや転記ミスが発生しやすくなります。
この記事では、顧客情報を1つの管理用シートへ入力し、エリア別や担当者別の一覧を自動生成する方法について解説します。VLOOKUPだけでは難しい複数顧客のまとめ表示についても、便利な関数を使った解決方法を紹介します。
Excelで顧客管理を複数シートに分ける基本的な考え方
顧客管理では、入力する場所と表示する場所を分けることが重要です。1つのシートにすべて入力すると、印刷用のレイアウト変更や検索作業が難しくなるためです。
おすすめの構成は、以下の3つに分ける方法です。
- シート①:担当者別の印刷用一覧
- シート②:エリア別の表示用一覧
- シート③:顧客情報を入力する元データ
この場合、シート③を「元データ」として扱い、シート①や②は関数で自動表示する形にすると管理しやすくなります。
VLOOKUPでは複数の顧客をまとめて表示できない理由
VLOOKUP関数は、指定した条件に一致した最初の1件だけを取得する関数です。
例えば、エリア1に「顧客A」「顧客B」「顧客C」が存在する場合、VLOOKUPでは1人目の顧客しか取得できません。
そのため、「同じエリアの顧客名を横に並べたい」「1つのセルにまとめたい」という場合は、VLOOKUPではなく別の方法を使う必要があります。
ExcelのFILTER関数でエリア別顧客一覧を作成する方法
新しいExcel(Microsoft 365やExcel 2021以降)であれば、FILTER関数を利用すると簡単に条件に一致する顧客を抽出できます。
例えば、シート③が以下のようなデータの場合を考えます。
| 顧客名 | エリア |
|---|---|
| 顧客A | エリア1 |
| 顧客B | エリア2 |
| 顧客C | エリア1 |
シート②でエリア1の顧客を表示する場合、以下のような数式を使います。
=FILTER(シート③!B:B,シート③!C:C=A2)
A2に入力されたエリア名と一致する顧客だけが自動的に表示されます。顧客が追加されても元データを更新するだけで一覧が変化します。
同じエリアの顧客名を1つのセルにまとめる方法
顧客名を横方向ではなく、1つのセル内に「顧客A、顧客C」のようにまとめたい場合は、TEXTJOIN関数とFILTER関数を組み合わせます。
数式例は以下になります。
=TEXTJOIN(“、”,TRUE,FILTER(シート③!B:B,シート③!C:C=A2))
この数式では、エリアが一致した顧客名を抽出し、「、」で区切って1つのセルに表示します。
例えばエリア1の場合、「顧客A、顧客C」のような表示になります。
担当者別の印刷用一覧を作る方法
担当者別の印刷用シートを作成する場合も、元データをシート③に集約しておくと管理が簡単になります。
例えばシート③に以下の項目を用意します。
- 顧客名
- エリア
- 担当スタッフ
その後、担当スタッフを条件にFILTER関数で抽出すれば、担当者ごとの一覧表を自動作成できます。
例として担当者名がA2セルにある場合、以下のような式になります。
=FILTER(シート③!A:C,シート③!C:C=A2)
これにより、担当者を変更するだけで印刷用一覧も切り替えられます。
Excelで顧客管理をする場合は元データを1つにするのがおすすめ
複数シートへ直接入力する方法では、顧客追加のたびに同じ情報を何度も入力する必要があり、入力ミスの原因になります。
そのため、シート③のような入力専用データベースを作り、表示用シートは関数で自動生成する仕組みにすると効率的です。
例えば新規顧客が増えた場合も、シート③へ1行追加するだけで、エリア別一覧や担当者別一覧へ自動反映できます。
古いExcelを使用している場合の対応方法
FILTER関数や動的配列が使えない古いExcelでは、別の方法が必要です。
その場合は、ピボットテーブルやINDEX関数、AGGREGATE関数などを利用して条件別一覧を作成できます。
また、顧客数が多い場合はPower Queryを利用すると、大量データの整理や更新作業を自動化できます。
まとめ
Excelで顧客・エリア・担当スタッフを管理する場合は、入力用シートを1つにまとめ、表示用シートを自動作成する仕組みにすると管理が簡単になります。
VLOOKUPは1件取得には便利ですが、同じ条件の複数データを表示する用途には向いていません。新しいExcelではFILTER関数やTEXTJOIN関数を利用することで、エリア別の顧客一覧や担当者別の印刷表を効率的に作成できます。
最初にデータ構造を整えておけば、顧客数が増えても入力作業だけで一覧表が自動更新される、扱いやすいExcel管理表を作成できます。


コメント