Excel管理表で1行に複数件入って検索できない原因。1行1データに整える手順

Excel管理表で1行に複数件入って検索できない原因。1行1データに整える手順のアイキャッチ画像 縦持ち・正規化

導入

顧客管理表で「同じ会社の連絡先をまとめて1行に」と入れていたら、フィルタで「鈴木さん」を検索しても1行目の田中しか引っかからない。「田中/鈴木/佐藤」が1セルに入っているせいでExcelには「鈴木」という値が単独で存在せず、検索結果がゼロ件になってしまった、というケースはありませんか。

これは入力者の手抜きではなく、見やすさのために1行に複数件の情報を詰め込んでいることが原因です。本記事では、1行1データの形に整えて、検索・並び替え・ピボット集計が安定する管理表に整える手順をまとめます。

この記事で解決すること

項目 内容
解決する課題 1行に複数件の情報が混ざる
主な原因 見やすさ優先で複数データを同じ行に入れている
解決方法 1行1データの形に整理する
対象業務 案件管理・顧客管理・申請管理
対象人数 2〜30人
難易度 ★☆☆☆☆
作業時間 20分
用意するもの 対象のExcelファイル/編集権限
効果 検索や集計がしやすくなる
向かないケース 人が読むだけの一時資料

「1行=1件」を徹底すると、Excelの全機能(フィルタ・並び替え・ピボット・VLOOKUP)が想定通りに動きます。見た目を優先して詰め込むと、こうした機能のほぼ全てが効かなくなります。

なぜその管理表はうまくいかないのか

  • 1セルに「田中/鈴木/佐藤」のように複数値が入る
  • セル内改行(Alt+Enter)で2件以上を1行にまとめている
  • 「商品A、商品B」のようにカンマ区切りで複数商品を入れる
  • 同じ顧客の窓口担当を3人並べたいので3列「窓口1/窓口2/窓口3」を作る
  • 「初回連絡4/10、最終連絡5/20」のように1セルに日付を併記する

担当者の入力が雑なのではなく、Excelの「1セルに自由に書ける」性質と「見やすさを優先したい現場感」が組み合わさってこの構造が生まれていることが原因です。見直しは、「1行=何の1件なのか」を確定するところから始めます。

完成イメージ

直す前 — 1行に複数件:

案件ID 顧客名 窓口担当 商品
240401 山田商事 田中/鈴木 商品A、商品B
240402 鈴木物産 佐藤 商品C

「鈴木」でフィルタしても1行目は引っかからず、ピボットで担当別件数も集計不能。

直した後 — 1行1件に分割:

案件ID 枝番 顧客名 窓口担当 商品
240401 1 山田商事 田中 商品A
240401 2 山田商事 鈴木 商品B
240402 1 鈴木物産 佐藤 商品C

各行が独立し、フィルタ・ピボット集計・VLOOKUPがすべて正常に動きます。

改善手順

ステップ1. 1行=1件の単位を決める

最初に「この表は何の1件で1行にするのか」を決めます。

操作: 別シート「行単位定義」を作り、A列に「1行=1件の定義」、B列に「主キー」、C列に「主キーの命名規則」を書く。

記入例:

1行=1件の定義 主キー 命名規則
案件×窓口担当 案件ID+枝番 240401-1 / 240401-2
案件×商品 案件ID+商品ID 240401-A / 240401-B

「案件ごと」だと窓口や商品の複数件を扱えません。「案件×窓口」「案件×商品」のように単位を細かくします。

ステップ2. 複数件をまとめている行を分割する

「田中/鈴木」のように1セルに複数値が入っている行を、別々の行に展開します。

操作: 該当列をフィルタで「/」「、」を含むセルに絞り込む(Ctrl+F→「/」検索)。少数なら手作業、件数が多い場合はPower Query→「列の分割」→「区切り記号」で分割し、「列のピボット解除」で行展開する。

記入例:

操作前 操作後
240401/田中/鈴木 240401-1/田中/240401-2/鈴木

✗悪い例: 「田中/鈴木」を残したまま「主担当」列を1つ追加 → 集計時に副担当が落ちる ◎良い例: 1人1行に分割し、案件IDで結びつける

ステップ3. セル内の改行で複数件を入れている箇所を直す

Alt+Enterの改行で複数件を入れているセルは、機械的には「1セル1値」と認識されるため、フィルタが効きません。

操作: Ctrl+Hで「Ctrl+J」(改行コード)を「/」に置換→ステップ2と同じ手順で行分割する。1セルに残っている改行をすべて区切り文字に置換してから、行展開する。

記入例:

操作前 操作後
田中\n鈴木\n佐藤 田中/鈴木/佐藤 → 3行に分割

ステップ4. 1対多の関係は別シートに切り出す

案件1件に窓口担当が10人いる、のようなケースでは、案件と担当を別シートに分けます。

操作: シート「案件」と「案件担当」に分ける。案件シートは1案件1行、案件担当シートは1案件×1担当で複数行。両者を「案件ID」でVLOOKUPやピボットで結ぶ。

記入例:

案件シート 案件担当シート
案件ID/顧客名/案件名 案件ID/担当者ID/役割
240401/山田商事/4月見積 240401/U-001/主担当、240401/U-002/副担当

ステップ5. 並べ替え・フィルタで動作確認する

新しい1行1データ表で、検索とフィルタが正しく動くかを確かめます。

操作: 担当者列でフィルタをかけ、「鈴木」を選択。出てくる行数と、本来の鈴木担当案件数を比較する。一致すれば成功。

実務での注意点

  • 人が読むだけの一時資料(メモ、印刷専用台帳など)には1行1データに整える必要はありません。
  • 行分割すると行数が増え、Excel画面では一見冗長に見えます。「人間の見やすさ」より「データの扱いやすさ」を優先する目的を運用側と共有します。
  • 行分割後は元の表との突合(件数・合計)を必ず確認します。分割漏れがあると集計値がズレます。
  • 1セル複数値の習慣を残したまま新規入力を続けるとまた同じ問題が起きます。入力ルール(「1セルに1値、複数なら行を分ける」)を入力ルールシートに明文化します。
  • 1対多関係を別シートに分ける場合、参照の主キーは「ID」を主にし、表示用に「名前」を持つ二段構成にします。

まとめ

1行に複数件入って検索できない原因は、見やすさ優先で1セルに複数値を詰め込む入力習慣にあります。1行=1件の単位を決めて行分割すれば、検索・並び替え・ピボット集計がすべて正常に動くようになります。

次にやることは、対象ファイルで「区切り文字(/、、)が入っている列」をフィルタで数えることです。1列でも該当があれば、行分割の対象です。あわせて、1セルに複数情報が入っている場合は1セルから列に分ける手順、繰り返し列が増えていく場合は繰り返し項目を行に分ける手順も参考になります。

タイトルとURLをコピーしました