構造化Excelテク:見やすさのために挿入された空白行/空白列を削除して詰めるTech TIPS

Excelで作成した表の中には、見やすくするため、空(から)の行や列を入れて分割している場合がある。こうした表はキーボードショートカットで選択しにくく、使い勝手が悪い。そこで、不要な行や列を削除して表を1つにまとめる手順を紹介しよう。

» 2021年11月08日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/365


空白行や空白列で分断された表を1つにまとめる 空白行や空白列で分断された表を1つにまとめる
表を見やすくするため、空白行や空白列を入れて分割している場合がある。こうした表では、キーボードショートカットで選択しにくい。そこで、不要な行や列を削除して表を1つにまとめる手順を紹介する。画面のデータは、公益財団法人特別区協議会の「23区の人口と世帯2021」を元にサンプル用に編集したもの。

 「Microsoft Excel(エクセル)」で作成した表の中には、見やすくするため、空の行や列を入れて分割している場合がある。こうした空白行や空白列があると、[Ctrl]+[A]キーで表全体が選択できなくなるなど、作業効率が下がってしまう。

 総務省統計局が公開した各府省が政府統計の総合窓口(e-Stat)に掲載する統計表の表記方法の統一ルール「統計表における機械判読可能なデータの表記方法の統一ルールの策定」の18ページ「チェック項目2-1 データが分断されていないか」においても、「空白列などを追加してデータを分断しないこと」としている。

 Tech TIPS「構造化Excelテク:印刷を考慮して複数に分けた表を1つにまとめて集計可能にする」では、印刷を考慮して複数に分けた表を1つにまとめる方法を紹介した。本稿では、見やすさを考慮して挿入された(データが含まれていない)空白行や空白列を削除して、表を1つにまとめる方法を紹介する。

空白行や空白列であることを確認する

 空白行や空白列に見えても、途中のセルに数式や注釈が入力されている可能性もある。念のため、行や列の全てのセルに何も入力されていないことを確認しよう。

 簡易的に空白列を調べるのであれば、列の先頭のセルを選択し、[Ctrl]+[↓]キーを押して、シートの最後の行(104万8576行)までジャンプすれば、途中に入力されているセルはない。同様に、空白行は、行の先頭のセルを選択し、[Ctrl]+[→]キーを押して、シートの最後の列(XFD列)までジャンプすることを確認すればよい。[Ctrl]キーとともに逆方向の矢印キーを押せば、先頭の行や列に戻れる。

キーボードショートカットで空白行や空白列であることを確認する(1) キーボードショートカットで空白行や空白列であることを確認する(1)
空白列を調べるのであれば、列の先頭のセルを選択し、[Ctrl]+[↓]キーを押す。
キーボードショートカットで空白行や空白列であることを確認する(2) キーボードショートカットで空白行や空白列であることを確認する(2)
シートの最後の行(104万8576行)までジャンプすれば、途中に入力されているセルはない。それよりも前にジャンプした場合は、空白列と思われる列の途中に何らかの数値や数式があるので、何が入力されているのか確認する。

 また、空白列であることを確認するのであれば、列全体を選択し、[データ]タブの[フィルター]を選択するという方法もある。この際、列全体を選択しないと、空白行が含まれていると、空白行の前まででフィルターが実行されてしまうので注意すること。フィルターの[▼]アイコンをクリックすると、その列に含まれる値が表示されるので、「(空白セル)」以外がないことを確認してもよい。ただし、フィルターでは、「数値」や「文字列」が入っているセルのみが抽出されるので、「=""」のような数式が入っていても、一覧に表示されない点には注意してほしい。

フィルターで空白列であることを確認する フィルターで空白列であることを確認する
空白列と思われる列の先頭のセルを選択して、[データ]タブの[フィルター]をクリックして、フィルターを実行する。そのセルの[▼]部分をクリックし、その列に「(空白セル)」以外がないことを確認する。

 より正確に空白セルであることを調べるのであれば、表の最後の列や行の直後に以下の関数を入力し、値が「0」であることを確認すればよい。

=COUNTA([行の範囲/列の範囲])

範囲に含まれる空白ではないセルの個数を返す関数

 「COUNTA」は、指定されたセル範囲に存在する空白以外のセルの数を返すワークシート関数だ。例えば、「D25」のセルに「=COUNTA(D1:D24)」と入力すると、「D」列の「1」〜「24」行のセル範囲で空白ではないセルの数が表示される。

 空白セルが並ぶ行/列に見えて、この関数の値が「0」以外である場合は、その行/列に何らかの数値や数式が入力されていることを意味する。そのようなセルを見つけるには、COUNTA関数を入力したセルから[Ctrl]+矢印キーを使って、空白でないセルまでジャンプさせればよい。

COUNTA関数を使って空白行や空白列であることを確認する(1) COUNTA関数を使って空白行や空白列であることを確認する(1)
表の行や列の最後にCOUNTA関数で空白以外のセルの数を表示させる。全て空白セルならば「0」と表示される。もし、「0」以外であれば、途中に何らかの数値や数式が入力されているセルがあることになる。
COUNTA関数を使って空白行や空白列であることを確認する(2) COUNTA関数を使って空白行や空白列であることを確認する(2)
空白列のはずなのに「1」などと表示された場合は、[Ctrl]+[↑]キーで空白セルでないセルにジャンプして、何が入力されているのかを確認する。

空白行/空白列を右クリックメニューで削除する

 空白行や空白列で表が分割されている場合、この空白行や空白列を削除すればよい。削除したい行見出し(行番号が表示された部分)や列見出し(列のアルファベットが表示された部分)を選択し、行や列の全体を選ぶ。そのまま右クリックメニューの[削除]を選択すればよい。これで選択した行や列が削除できる。[Shift]キーや[Ctrl]キーを使って、複数の行や列を選択して削除しても構わない。

空白行/空白列を右クリックメニューで削除する(1) 空白行/空白列を右クリックメニューで削除する(1)
空白列を選択し、右クリックメニューの[削除]を選択する。[Shift]キーや[Ctrl]キーを使って複数の列を選択してもよい。
空白行/空白列を右クリックメニューで削除する(2) 空白行/空白列を右クリックメニューで削除する(2)
空白列が削除されて、列が詰められる。

空白行をまとめて削除する

 空白行であれば、フィルターなどを使ってまとめて削除することも可能だ。例えば、先頭の列に見出しが入力されているものの、データは存在せずに、不要な行となっているような場合、いちいち行を選択せずに一括で削除できるので楽だ。ここでは2つの方法を紹介する。

フィルターを使って空白行を削除する

 フィルターを使って空白行を探すには、列全体を選択し、[データ]タブの[フィルター]を選択して、フィルターを適用する。この際、選択する列は、空白行以外は、確実に値や数式が入力されているものを選択すること。途中に空白セルがあると、空白行ではないのに削除してしまうので注意したい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。