ADVERTISEMENT

【Googleスプレッドシート】データのトリミングで空白セルを詰めて表示!リストの整形

【Googleスプレッドシート】データのトリミングで空白セルを詰めて表示!リストの整形
🛡️ 超解決

スプレッドシートでリストを管理していると、空白セルが混ざってデータの連続性が途切れてしまうことがあります。とくにフィルタやグラフを作成するときに、空白があると正しい結果が得られず困ってしまう方も多いでしょう。この記事では、TRIM関数やQUERY関数、フィルタ機能を使って空白セルを詰めて表示する方法を詳しく解説します。これらのテクニックを覚えれば、リストをすっきりと整形して作業効率を向上できます。

この記事では以下の3つの方法を中心に説明します。それぞれの特徴を押さえて、目的に合った方法を選んでください。

【要点】空白セルを詰めて表示する3つの方法

  • TRIM関数: セル内の余分なスペースを削除して文字列を整えます。空白セル自体は詰まりませんが、データの前処理に役立ちます。
  • QUERY関数: 指定範囲から空白行を除外した結果を動的に表示します。元データを変更せずに済むので安全です。
  • フィルタ機能: 空白行を一時的に非表示にして画面上だけ詰めて表示します。手軽で直感的に操作できます。

ADVERTISEMENT

データのトリミングとは: 空白セルを詰めるメリット

スプレッドシートでリストを扱う際、空白セルがあるとデータの分析や可視化に悪影響を及ぼします。たとえば、空白セルが含まれる範囲でグラフを作成すると、グラフに不連続な部分が生じて見づらくなります。また、フィルタで抽出するときに空白行がノイズになることもあります。データのトリミングとは、こうした空白セルを除去または非表示にして、リストを連続した状態に整える操作です。これを実行することで、集計や参照がスムーズになり、見た目もすっきりします。

TRIM関数でセル内の余分なスペースを削除する

TRIM関数は、セル内の先頭・末尾・連続するスペースを削除する関数です。空白セル自体を詰めるわけではありませんが、データの前処理として重要な役割を果たします。たとえば、他のシステムからインポートしたデータに不要なスペースが含まれている場合、TRIM関数で整えてからQUERY関数などを使うと正確な結果が得られます。

  1. TRIM関数の基本構文を入力する
    空いているセルに =TRIM(セル参照) と入力します。たとえば、A1セルの内容をトリミングするなら =TRIM(A1) です。
  2. 数式をコピーして必要な範囲に適用する
    オートフィルを使って隣接セルに数式をコピーします。結果はトリミング後の文字列が表示されます。
  3. 必要に応じて値貼り付けで元のデータと置き換える
    数式の結果を確定したい場合は、結果をコピーして右クリックから「値のみ貼り付け」を選択します。これで元のデータが置き換わります。

QUERY関数で空白行を除外して抽出する

QUERY関数は、指定した範囲に対してSQLライクなクエリを実行し、条件に合う行だけを抽出できます。空白行を除外するには、WHERE句で「列名 is not null」と指定します。この方法の利点は、元データを一切変更せずに別の場所に整形済みのリストを表示できることです。

  1. QUERY関数の構文を入力する
    例: =QUERY(A:B, "select A, B where A is not null", 0) と入力します。範囲A:BからA列が空白でない行を抽出します。
  2. 複数列で条件を指定する場合
    複数の列に空白がある場合 where A is not null and B is not null のようにANDで結合します。
  3. 結果が動的に更新されることを確認する
    元データを変更すると、QUERY関数の結果も自動的に更新されます。フィルタのように一時的ではなく、常に最新の状態が保たれます。

QUERY関数は配列数式に対応しているため、=QUERY(A:B, "select * where A is not null", 1) のようにヘッダーを含めることもできます。ただし、大量のデータを扱う場合は処理が重くなることがあるので注意してください。

ADVERTISEMENT

フィルタ機能で空白行を一時的に非表示にする

フィルタを使えば、空白セルを含む行を簡単に非表示にできます。元データを変更せず、作業中だけ空白を隠したい場合に便利です。フィルタの設定は直感的で、初めての方でも迷わず操作できます。

  1. フィルタを設定する範囲を選択する
    リスト全体(ヘッダー行を含む)を選択した状態で、メニューの「データ」→「フィルタ」をクリックします。各列のヘッダーにフィルタアイコンが表示されます。
  2. 空白行を除外するフィルタ条件を設定する
    対象列のフィルタアイコンをクリックし、ドロップダウンリストから「空白」のチェックを外します。これで空白セルを含む行が非表示になります。
  3. 元に戻す場合はフィルタを解除する
    もう一度「データ」→「フィルタ」をクリックしてフィルタをオフにすると、すべての行が再表示されます。

空白セルを削除してデータを物理的に詰める

どうしても空白セルを完全に除去したい場合は、行ごと削除するか、特定の列の空白だけを削除して詰める方法があります。ただし、この操作は元データを破壊的に変更するため、事前にバックアップを取ることをおすすめします。

  1. 空白行をまとめて削除する
    フィルタで空白行だけを表示し、それらを選択して右クリック→「行を削除」を選びます。ただし、他の列にデータがある場合はその列も削除されてしまうため注意が必要です。
  2. 特定の列だけ空白を詰めるには
    別シートにQUERY関数で抽出した結果を値貼り付けする方法が安全です。たとえば、A列に空白がある場合、=QUERY(A:A, “where A is not null”) で空白を除外したリストを作成し、その結果をコピーして値貼り付けします。

各方法の比較

方法 メリット デメリット
TRIM関数 スペースの除去に特化して簡単 空白セル自体は詰まらない
QUERY関数 元データを変更せず動的に空白除外 範囲指定が複雑になる場合がある
フィルタ機能 操作が直感的でその場で確認しやすい 一時的な表示変更で他シートに反映できない
空白セル削除 データが完全に詰まる 元データが変更されるリスクがある

注意点とよくあるトラブル

空白に見えても実際はスペースや改行が含まれている場合

セルが空白に見えても、実際には半角スペースや改行コードが含まれていることがあります。このようなセルはQUERY関数の is not null でも除外されません。まずはTRIM関数でスペースを除去し、それでも残る場合はCLEAN関数(改行を削除)を併用してください。

QUERY関数の結果がエラーになる

QUERY関数の範囲指定に空白セルを含む列を指定すると、エラーになることがあります。エラーが発生した場合は、範囲を見直すか、列全体ではなく必要な行だけを指定してみてください。また、クエリ文の構文ミス(カンマの位置など)もよくある原因です。

空白セル削除後にデータがずれる

行ごと削除すると、同じ行の別の列のデータも一緒に消えてしまいます。削除前に、他の列に重要なデータがないかを必ず確認してください。列ごとに空白を詰めたい場合は、前述のQUERY関数を使う方法が安全です。

まとめ

この記事では、Googleスプレッドシートで空白セルを詰めて表示するための4つの方法を紹介しました。TRIM関数はデータの前処理、QUERY関数は動的な空白除外、フィルタは一時的な非表示、削除は物理的な詰め込みにそれぞれ適しています。リストの整形が必要になったときは、今回の方法を組み合わせて目的に合った処理を選んでください。とくにQUERY関数は元データを守りながら柔軟に整形できるため、頻繁に利用する価値があります。まずは手近なリストで試してみて、データ管理の効率を高めてください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。