エクセルの『フィルター』、とても便利な機能ですよね。
しかし結合したセルに対しては、途端にうまくいかなくなる困った面もあります。
たとえば、下記のような表があるとして
「会社名」でフィルターをかけると、このように1行しか表示されません。
「会社名」に対し、本来なら「担当者名」は3人とも表示されて欲しいのに、1人しか表示されないのですね。
今回は、このようなことが起きる原因や対処法、すでに作成済みの表を修正する方法を解説します。
結合セルがフィルターで1行しか表示されない原因
さて、結合したセルの中身は、一体どうなっているのでしょう?
下記の場合「ABC商事」は、ひとつのセルに名前が入っているように見えますが…
実際は、セル結合を解除するとこうなっています。
ご覧のとおり、A2セルだけ「ABC商事」と入力があり、A3・A4セルは空白なのです。
そのため「ABC商事」でフィルターをかけても、対象になるのはA2セルだけです。
結果として、担当者も田中さん(B2)しか表示されません。
新しい表で複数行を表示できるようにする方法
フィルターをかけても、3行(複数行)すべてを表示する方法をご紹介します。
これから新しく作る表と、すでに使用している表では対処法が違います。
まずは、新規で作成する場合を見ていきましょう。
数式で会社名を自動表示する
まだ何も入力されていない表は、既に入力された表に比べて設定が簡単です。
❶ まずは、3行で表示するためのデータを作成します。
このデータは「コピーして、元の表に貼り付けるための一時用」ですので、別シートに作りましょう。
※作業が終わったら、この別シートは削除して構いません。
作成するデータは、以下のとおりです。
ひとつ上のセルを反映させる数式です。
A2セル:=IF(A1="","",A1)
A3セル:=IF(A2="","",A2)
❷ A1:A3をコピーします。
❸ 元のシートに戻り、A2:A4(結合セル)の上で右クリック → 貼り付けオプションの「数式」をクリック。
❹ A2:A4(結合セル)をコピーし、該当セルへ貼り付け
❺ 試しに文字を入力し、フィルターをかけてみましょう。
3行で表示されればOKです!
入力済みの表を一括で修正する方法
次のように、すでに結合セル(会社名)に入力がある場合、一括修正するには工夫が必要です。
何も入力がなかったときは、数式を上書きすれば設定できました。
しかし、すでに会社名が入力されている状態で同じことを行うと、会社名が消えてしまいます。
ここでは、入力済みの会社名はそのままに、3行で表示する方法をご紹介します。
会社名を残したまま一括修正する手順
❶ 結合セルのある「列」をコピーして、別のシートに貼り付けます。
❷ 列を選択したまま、「ホーム」→「セルを結合して中央揃え」をクリックし、
セル結合を解除します。
❸ となりの列に、行数に合わせた数字を入力します。
今回は3行表示にしたいため、「1」「2」「3」を入力します。あとは、コピペでOKです。
❹ 結合セルの2行目・3行目に、以下の数式をコピーします。
・2行目(A3のとき):=IF(A2="","",A2)
・3行目(A4のとき):=IF(A3="","",A3)
❺ 数字を入力した列(B列)にフィルターをかけ、2・3行目だけを表示させます。
❻ 数式が入っているセル(A3:A4)をコピーします。次に、貼り付けたい範囲を選択し、Enterキーを押してください。
❼ フィルターを解除します。
「ホーム」→「並べ替えとフィルター」→「クリア」で一気に解除できます。
❽ 修正したデータ(A列)をコピーします。
→ 元のシートに戻り、上書きしたいデータの列を選択して右クリック
→「貼り付けオプション」の「数式」を選択。
❾「会社名」でフィルターを掛けてみましょう。
3行とも表示されればOKです。
書式設定を貼り付ける場合の注意点
既存の表を変更する方法として、もう一つ「書式設定」を貼り付ける方法もあります。
やり方としては、次のようになります。
❶ 結合セルを解除し、あらかじめ2・3行目に入力します。
❷ 空いている場所に結合セルを作成し、コピー。
→ セルを結合したい範囲を選択し、右クリック。
→「貼り付けオプション」から「書式設定」を選択。
❸ セルが結合されました。
これで一見、問題ないように見えますが…
❹ 会社名を変更して、
❺ セル結合を解除すると、実は2・3行目は変更されていないということが分かります。
セルが結合された状態で入力し直すと、1行目しか修正されないのです。
❻「書式設定」の貼り付け自体に問題はありません。
ただし、2・3行目に会社名を直接入力すると、あとで会社名を変更した際にデータが一致しなくなります。
そのため、2・3行目は次の数式で連動させることをおすすめします。
A3セル:=IF(A2="","",A2)
A4セル:=IF(A3="","",A3)
これでしたら、1行目が変更されたとき、自動で2・3行目も変わります。
参考にしてください。
うまく表示されないときの確認ポイント
■Deleteキーを押したら1行しか表示されなくなった
……Deleteキーで数式が削除された可能性があります。数式を再設定してください。
■フィルターに「0」が表示される
……IF関数を使わずに設定すると、フィルターに「0」が表示されることがあります。
気になる場合はIF関数を使用しましょう。
■会社名を変更しても2・3行目が変わらない
……2・3行目が直接入力になっている可能性があります。
セルに数式が入っているか確認してください。
★ こちらも知っていると便利な小技です
【Excel】フィルターで空白行を含める方法|先頭行が空白でも設定できる
まとめ
今回は、結合セルをフィルターで検索したときに、1行しか表示されない原因と対処法をご紹介しました。
結合セルは見た目では1つのセルに見えますが、実際にデータが入っているのは先頭行だけです。そのため、フィルターをかけると1行しか表示されません。
複数行を表示したい場合は、2・3行目にも会社名が入っている状態を作る必要があります。その際は、直接入力ではなく数式を利用することで、会社名を変更したときも自動で更新されます。
また、既存の表を修正する場合は、一括で設定することも可能です。
同じような表を使用していて「フィルターで1行しか表示されない」とお困りの方は、ぜひ今回の方法を試してみてください。
【関連記事】
◎ Excelの入力ミス防止として、こちらもおすすめです
【Excel】プルダウン(入力規則)の作り方|家計簿で入力ミスを防ぐ方法





























コメント