結合セルをオートフィルタで絞り込む


上図のような表があったとします。A列は、いくつかのセルが結合されています。よく見かけるレイアウトですね。さて、この表をオートフィルタで絞り込んでみましょう。画面はExcel 2010です。Excel 2003までのバージョンでは、それぞれの方法で絞り込んでください。

すると、こうなります。

望む結果は違いますよね。でも、しかたないんです。結合されたセルでは、すべてのセルに同じデータが入力されているのではなく、左上のセルだけにデータが入力されています。つまり、本当はこういう表なんです。

じゃあ、他のセルにもデータを入れとけばいいじゃん。って考えてもダメです。やってみましょう。

選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択したセル範囲にある最も左上隅にあるデータのみが保持されます (空白セルは無視されます)。

つまり、セルを結合すると、結合したセル範囲内の、左上セル以外のセルはクリアされちゃうということです。

もちろん、Excelのオートフィルタは、セルを1つずつチェックしますので「横浜」で絞り込んだとき、クリアされちゃった空白のセルは「横浜じゃない」と判断します。せっかくセル結合という便利な機能があるのに、この仕様はちょっと不親切な気もします。ちなみに結合セルは、並べ替えもできませんしね。確かに、Excelの仕組みを考えると、結合セルってのはすごくイレギュラーな機能だと思います。Microsoftが、結合セルに対して多くの制約を設けたのも、技術的には想像がつきます。

ただし、方法がないわけではありません。結合セルをオートフィルタで絞り込む裏技をご紹介します。

1.任意のセルに、埋め込みたいデータ(ここでは「東京」と「横浜」)を入力します

2.埋め込みたいデータをコピーします

3.埋め込みたい結合セルを選択して[形式を選択して貼り付け]を実行します

4.「数式」を選択して[OK]ボタンをクリックします

5.同じ操作を、ほかの結合セルに対しても行います

これで準備は完了です。さあ、さっきと同じようにオートフィルタで絞り込んでみましょう。

いかがですか?(ここは拍手するところです)

ただし、これは正規の方法ではありません。

そもそも結合セルでは「左上以外のセルはクリアされる」のがルールであり「左上以外のセルにはデータが存在できない」ことになっています。そして[形式を選択して貼り付け]の「数式」は、コピー元セルに入力されている"数式"を別のセルに貼り付ける機能です。決して、結合セルの隠れているセルにデータを埋め込む機能ではありません。それが、どうして埋め込まれてしまうのでしょう。少なくとも、本来の使い方ではありません。

正規の方法ではないのですから、今後のバージョンではこうした使い方ができないように、Microsoftが修正したとしても文句は言えません。そのへんをご理解の上で使ってください。まぁ、便利なことは間違いないですしね。

みたいな。