構造化Excelテク:見やすさのために挿入された空白行/空白列を削除して詰める:Tech TIPS
Excelで作成した表の中には、見やすくするため、空(から)の行や列を入れて分割している場合がある。こうした表はキーボードショートカットで選択しにくく、使い勝手が悪い。そこで、不要な行や列を削除して表を1つにまとめる手順を紹介しよう。
対象:Excel 2016/2019/365
空白行や空白列で分断された表を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]キーとともに逆方向の矢印キーを押せば、先頭の行や列に戻れる。
キーボードショートカットで空白行や空白列であることを確認する(2)
シートの最後の行(104万8576行)までジャンプすれば、途中に入力されているセルはない。それよりも前にジャンプした場合は、空白列と思われる列の途中に何らかの数値や数式があるので、何が入力されているのか確認する。
また、空白列であることを確認するのであれば、列全体を選択し、[データ]タブの[フィルター]を選択するという方法もある。この際、列全体を選択しないと、空白行が含まれていると、空白行の前まででフィルターが実行されてしまうので注意すること。フィルターの[▼]アイコンをクリックすると、その列に含まれる値が表示されるので、「(空白セル)」以外がないことを確認してもよい。ただし、フィルターでは、「数値」や「文字列」が入っているセルのみが抽出されるので、「=""」のような数式が入っていても、一覧に表示されない点には注意してほしい。
フィルターで空白列であることを確認する
空白列と思われる列の先頭のセルを選択して、[データ]タブの[フィルター]をクリックして、フィルターを実行する。そのセルの[▼]部分をクリックし、その列に「(空白セル)」以外がないことを確認する。
より正確に空白セルであることを調べるのであれば、表の最後の列や行の直後に以下の関数を入力し、値が「0」であることを確認すればよい。
=COUNTA([行の範囲/列の範囲])
「COUNTA」は、指定されたセル範囲に存在する空白以外のセルの数を返すワークシート関数だ。例えば、「D25」のセルに「=COUNTA(D1:D24)」と入力すると、「D」列の「1」〜「24」行のセル範囲で空白ではないセルの数が表示される。
空白セルが並ぶ行/列に見えて、この関数の値が「0」以外である場合は、その行/列に何らかの数値や数式が入力されていることを意味する。そのようなセルを見つけるには、COUNTA関数を入力したセルから[Ctrl]+矢印キーを使って、空白でないセルまでジャンプさせればよい。
COUNTA関数を使って空白行や空白列であることを確認する(1)
表の行や列の最後にCOUNTA関数で空白以外のセルの数を表示させる。全て空白セルならば「0」と表示される。もし、「0」以外であれば、途中に何らかの数値や数式が入力されているセルがあることになる。
COUNTA関数を使って空白行や空白列であることを確認する(2)
空白列のはずなのに「1」などと表示された場合は、[Ctrl]+[↑]キーで空白セルでないセルにジャンプして、何が入力されているのかを確認する。
空白行/空白列を右クリックメニューで削除する
空白行や空白列で表が分割されている場合、この空白行や空白列を削除すればよい。削除したい行見出し(行番号が表示された部分)や列見出し(列のアルファベットが表示された部分)を選択し、行や列の全体を選ぶ。そのまま右クリックメニューの[削除]を選択すればよい。これで選択した行や列が削除できる。[Shift]キーや[Ctrl]キーを使って、複数の行や列を選択して削除しても構わない。
空白行をまとめて削除する
空白行であれば、フィルターなどを使ってまとめて削除することも可能だ。例えば、先頭の列に見出しが入力されているものの、データは存在せずに、不要な行となっているような場合、いちいち行を選択せずに一括で削除できるので楽だ。ここでは2つの方法を紹介する。
フィルターを使って空白行を削除する
フィルターを使って空白行を探すには、列全体を選択し、[データ]タブの[フィルター]を選択して、フィルターを適用する。この際、選択する列は、空白行以外は、確実に値や数式が入力されているものを選択すること。途中に空白セルがあると、空白行ではないのに削除してしまうので注意したい。
フィルターの[▼]アイコンをクリックすると、その列に含まれる値が表示されるので、一度、「(すべて選択)」のチェックを外してから、「(空白セル)」のみにチェックを入れて選択状態にする。すると先頭行と、その列で空白セルになっている行のみが表示される。ここで、他の列に数値などが入っていないことを再度確認する。
先頭行以外が、削除対象の空白行だけが表示されている状態ならば、2行目から表の最後の行までを選択し、右クリックメニューの[削除]を選択すればよい。[データ]タブの[フィルター]を再度選択し、フィルターを解除すれば空白行が削除された状態になるはずだ。
フィルターを使って空白行を削除する(1)
列の最初のセルを選択し、[データ]タブの[フィルター]をクリックする。選択したセルの[▼]をクリックすると、この列に含まれている値が表示される。データは、総務省統計局の「2- 2 都道府県別人口と人口増減率」を元にサンプル用に編集したもの。
「条件を選択してジャンプ」で空白セルを選んで行をまとめて削除する
空白行以外は、確実に値や数式が入力されている列を選択し、[ホーム]−[検索と選択]をクリックし、メニューから[条件を選択してジャンプ]を選択する。[選択オプション]ダイアログが表示されるので、「空白セル」を選択して、[OK]ボタンをクリックする。
列の中で空白セルになっている部分が選択された状態となるので、選択されているセルを右クリックし、[削除]を選択する。[削除]ダイアログが表示されるので、「行全体」を選択し、[OK]ボタンをクリックする。これで、空白行が削除された状態になる。
列全体を選択せずに[条件を選択してジャンプ]を実行すると、空白のみの列まで選択されることがある。そのまま上記の手順で行削除を実行すると、表全体が削除されてしまう。必ず事前に列全体を選択しよう。
空白セルはなるべくなくす
データが存在しない場合、セルを空白にせずに、「-」や「N/A」「***」などと入力しておくとよい(数値データで集計結果がゼロなどの場合は「0」とする)。そうすることで、単にセルが空白なのか、データがないのかが明らかにできる。
また、[Ctrl]+[↓]キーなどで表の一番下までジャンプさせることもできるようになる。
データがない場合にどのような記号や文字を入力するかは、社内や部署内で統一したルールとしておき、場合によっては、これらの文字がデータのないことを示していることをシート内に注釈として記しておくとよい。
Copyright© Digital Advantage Corp. All Rights Reserved.