こんにちは。Excel事務研究員です。
先日、後輩から「フィルターのボタンが半分しかつかないんですけど、これ壊れてますか?」と相談を受けました。画面を見せてもらうと、原因はすぐに見当がつきました。表の見出しが2段になっていたのです。
上の行に「交通費」「交際費」といった大きな分類、下の行に「4月」「5月」「6月」といった細かい分類。パッと見はとても整理された、丁寧な作りの表でした。壊れているわけではなく、むしろ「きちんと作ろう」とした結果がこの状態を生んでいたのです。
正直なところ、私も最初にこの相談を受けたときは「見出しの行数くらいで、そんなに大きな影響が出るものだろうか」と半信半疑でした。しかし実際に同じファイルを触ってみると、フィルターだけでなく、並び替え、集計関数、テーブル機能、ピボットテーブルまで、思っていた以上に広い範囲で不具合が連鎖していることがわかりました。
今回は、この「見出しが複数行になっている」というミスをじっくり研究していきます。Excel初心者がやりがちなミスを1つずつ確認しているシリーズの一環です。見出しを2行にしただけで、これだけ多くの機能に影響が出るというのは、実際に経験するまでなかなか想像しにくいものです。
見出しを2段にしたくなる気持ちはよくわかる
まず、なぜ多くの人が見出しを2段に分けてしまうのか、そこから考えてみます。
たとえば、次のような経費精算のまとめ表を作るとします。

「交通費」と「交際費」という大分類の下に、月ごとの小分類を並べる。この発想自体は、資料やレポートの世界ではごく自然な整理方法です。上司や取引先に見せる紙の資料であれば、この形が一番読みやすいということも多いでしょう。
私自身も、この作り方を「きちんと整理された良い表」だと思っていた時期があります。むしろ、見出しを1行にまとめてしまうと「売上_4月」のように文字が詰まって、少し読みにくく感じることさえありました。
問題は、この「人間にとっての読みやすさ」と「Excelにとっての扱いやすさ」が、まったく別のルールで動いているという点にあります。
Excelは「1行目だけ」を見出しとして認識する
Excelのフィルター、並び替え、SUM・SUMIFといった集計関数、テーブル機能、ピボットテーブル。これらの機能はすべて、表の1行目だけを見出しとして扱い、2行目以降はすべて「データ」として処理するという共通のルールで動いています。
どれだけ丁寧に2段の見出しを作っても、Excel側には「見出しが2行ある」という情報は伝わりません。2行目に書いた「4月」「5月」「6月」も、Excelから見れば単なる文字が入力されたデータ行の1つでしかないのです。
この前提のズレが、次に紹介するようなトラブルの出発点になります。
自分の表が当てはまるか、まず確認する方法
本題に入る前に、簡単なチェック方法を紹介します。表の1行目だけを選択してみてください。もし本来の見出しが2行に分かれているなら、選択できるのは大分類の行だけで、小分類の行は選択範囲から外れます。この状態で「データ」タブの「フィルター」ボタンを押してみると、フィルターの矢印が大分類の行にしか表示されないはずです。この時点で矢印が半分しか出ない、あるいは想定した列に出ないという場合は、今回のミスに当てはまっている可能性が高いといえます。
気づかないまま積み重なる不具合
先ほどの後輩の相談はフィルターの話でしたが、実際にはもっと広い範囲で影響が出ます。順番に見ていきましょう。
まずフィルターです。フィルターボタンは1行目にしか付かないため、2行目の小見出し行はボタンのないただのデータとして表に残ります。この状態で「山田さんのデータだけ見たい」と絞り込みをかけると、小見出し行が紛れ込んだまま表示されたり、逆に必要な情報まで一緒に隠れてしまったりします。件数を数えると、なぜか1件多い、あるいは少ない。そんな微妙なズレが生まれ、原因を探すのに時間がかかります。
並び替えも要注意です。交通費の多い順に並び替えると、Excelは2行目以降をすべてデータ扱いして動かすため、「4月・5月・6月」と書いた小見出し行までデータと一緒に移動してしまいます。結果として、見出しとデータが入り乱れた表ができあがり、どこが見出しでどこが数値なのか、目で1行ずつ確認しながら直す羽目になります。
集計関数への影響も見逃せません。SUM関数やSUMIF関数で範囲を指定すると、2行目の「4月」「5月」という文字も集計範囲に巻き込まれることがあります。文字列と数値が混在すると「#VALUE!」といったエラーが出ることもあれば、エラーは出ないのに合計だけが微妙にズレているという、かえって気づきにくいケースもあります。SUMIFで「4月」を条件に指定したときに、見出し行自体まで条件に一致してカウントされてしまうという、少し意地の悪いトラブルも起こり得ます。
テーブル機能も正しく動きません。範囲を選択してテーブルとして設定しようとすると「見出しとして認識できません」というメッセージが出たり、無理やり設定できても2行目の小見出しがデータの1件目として取り込まれてしまったりします。せっかく新しい行を追加すると自動で書式や数式が広がる便利な機能なのに、構造の問題で使えないままになっているケースを何度も見てきました。
ピボットテーブルも同様です。「フィールドの選択」の一覧に、本来なら軸として使いたい「月」という項目が出てこず、代わりに「4月」「5月」という文字がデータの中身として扱われてしまいます。月ごとの集計をワンクリックで作れるはずの機能が使えず、結局は毎月手作業で集計表を作り直すことになります。
さらに、印刷や共有の場面でもひずみが出ます。改ページの位置がずれると、2段見出しの上段だけが次のページに残ってしまい、下段の小見出しが前のページに取り残されるということが起こります。他の人にファイルを渡したとき、「この2行目は見出しなんですか、それともデータなんですか」と確認されることも珍しくありません。作った本人にとっては当たり前でも、初めて見る人にとっては構造が伝わりにくいのです。
正しい見出しの作り方
原因がはっきりした分、対処の方向性はシンプルです。基本の考え方は「見出しは必ず1行に収める」。これだけです。ここでは3つの方法を紹介します。
方法① 列名を工夫して1行に収める
大分類と小分類を、アンダーバーやスラッシュでつないで1つの見出しにまとめる方法です。

見出しが少し長くなりますが、これだけでフィルターも並び替えも、集計関数もテーブル機能も、すべて正常に動くようになります。見た目の窮屈さよりも、機能がきちんと動くことのメリットのほうがはるかに大きいというのが、実務で何度も痛い目を見た結論です。
列幅が気になる場合は、セルの書式設定で「折り返して全体を表示する」をオンにすれば、見出しセルの中で文字を2行に見せることもできます。これはあくまで「表示上の折り返し」であって、Excelが認識する見出しの行数は変わらないため、機能面の問題は起きません。
方法② 視覚的な区切りは書式で表現する
見出しを2段にしたかった理由の多くは、「大分類ごとにまとまりを見せたい」という視覚的な整理にあります。この整理感は、見出しの行数を増やさなくても、書式だけで十分に表現できます。
たとえば、交通費に関する列と交際費に関する列でセルの背景色を変える、あるいは大分類の切れ目に太めの罫線を入れる。こうした工夫だけで、データの構造を壊さずに「ここからここまでが交通費」という視覚的な区切りを作ることができます。条件付き書式を使えば、列見出しの文字列に応じて自動で色分けすることも可能です。
方法③ 縦に積む構造に作り直す
もう1つ根本的な解決策として、表そのものを「横に広げる形」から「縦に積む形」に作り替えるという方法があります。

月や費目を「列の名前」としてではなく「列の中に入る値」として扱うことで、見出しは自然に1行だけで済むようになります。これはちょうど、以前このシリーズで研究した「データが1行1データになっていない」の記事で扱った「1行1データ」の考え方と同じものです。今回の2段見出し問題も、突き詰めれば「情報を横方向に並べたい」という発想が形を変えて現れたものだと言えます。気になる方はあわせて読んでみてください。

縦に積んだ表は、フィルターで「4月だけ」「交通費だけ」を絞り込むのも簡単ですし、ピボットテーブルを使えば月別・費目別の集計表を数クリックで作れます。表の行数は増えますが、Excelにとっては圧倒的に扱いやすい構造になります。なお、すでに横長の表がたくさんある場合は、Excelの「ピボットテーブル/ピボットグラフウィザード」やPower Queryの「列のピボット解除」という機能を使うと、手作業で1行ずつ入力し直さなくても、横長の表を縦長の構造に変換できます。表の数が多くて作り直しが大変だと感じる方は、この機能名だけでも覚えておくと役立つはずです。
見出しを2段にしても問題ない場合はある?
ここまで2段見出しの弊害ばかりを紹介してきましたが、「絶対に1行にしなければいけないのか」というと、少し補足が必要です。
たとえば、印刷して配るためだけの完成した資料や、Excelの計算機能を一切使わず、ただ数値を見せるためだけの表であれば、2段見出しのままでも実害は出にくいでしょう。フィルターも並び替えもピボットテーブルも使わない、いわば「最終出力用の見た目」に徹した表であれば、機能面の制約はそれほど問題になりません。
ただし実務では、「最初は見せるだけのつもりだった表を、後から誰かが集計に使い始める」というケースが非常によく起こります。作った本人が想定していなかった使われ方をされることで、初めてこのミスが表面化するのです。ですから、少しでも「後で誰かが数値を触るかもしれない」という可能性がある表は、最初から見出しを1行にしておくのが安全だというのが、私の経験からの結論です。
研究員メモ
「丁寧に整理しようとした表ほど、後から扱いにくくなる」
これは、実務の中で何度も味わってきた感覚です。後輩の相談を受けたときも、まさか原因が見出しの行数にあるとは、本人はまったく想像していませんでした。見た目が整っていて、大分類・小分類がきれいに分かれている表を見て「よく作られている」と感じるのは、ごく自然な反応だと思います。
ただ、Excelというソフトの都合を考えると、人間にとっての見やすさと、ソフトにとっての処理しやすさは、残念ながら別物として扱う必要があります。見た目の整理は、あとから書式やフィルターの工夫でいくらでも足すことができます。一方で、見出しの行数という構造の問題は、データが増えれば増えるほど直すのが大変になっていきます。
最初の設計段階で「見出しは1行」と決めてしまう。この一手間だけで、後々の集計・分析・そして誰かへの引き継ぎが、驚くほどスムーズになります。
今日の研究まとめ
見出しが複数行になっている
こんな症状はありませんか
・見出しが2行以上に分かれている ・フィルターボタンが1行目にしかつかない ・並び替えをすると小見出し行がデータと一緒に動いてしまう ・SUMやSUMIFの結果がなぜか合わない ・ピボットテーブルの「フィールド」に月や項目名が正しく出てこない ・テーブル機能を設定しようとするとエラーになる ・印刷すると見出しの上段と下段でページが分かれてしまう
直し方
✔ 大分類と小分類をアンダーバーなどでつなぎ、見出しを1行にまとめる
✔ 見た目の区切りは背景色や罫線、条件付き書式で表現する
✔ 表を縦に積む構造(1行1データ)に作り直すと、そもそも2段見出しが不要になる
✔ 横長の表が多い場合は「列のピボット解除」機能の活用も検討する
次回の研究予告
Excel初心者がやりがちなミスを研究するこのシリーズ。次回のテーマはこちらです。
列ごとにデータ形式が違う
同じ列の中に、数値・文字・日付が混ざって入力されているケースです。見た目ではほとんど気づけないのに、集計や検索が静かに狂っていく、なかなか厄介なミスです。
次回も一緒に研究していきましょう。


コメント