スプレッドシートでリストを管理していると、空白セルが混ざってデータの連続性が途切れてしまうことがあります。とくにフィルタやグラフを作成するときに、空白があると正しい結果が得られず困ってしまう方も多いでしょう。この記事では、TRIM関数やQUERY関数、フィルタ機能を使って空白セルを詰めて表示する方法を詳しく解説します。これらのテクニックを覚えれば、リストをすっきりと整形して作業効率を向上できます。
この記事では以下の3つの方法を中心に説明します。それぞれの特徴を押さえて、目的に合った方法を選んでください。
【要点】空白セルを詰めて表示する3つの方法
- TRIM関数: セル内の余分なスペースを削除して文字列を整えます。空白セル自体は詰まりませんが、データの前処理に役立ちます。
- QUERY関数: 指定範囲から空白行を除外した結果を動的に表示します。元データを変更せずに済むので安全です。
- フィルタ機能: 空白行を一時的に非表示にして画面上だけ詰めて表示します。手軽で直感的に操作できます。
ADVERTISEMENT
目次
データのトリミングとは: 空白セルを詰めるメリット
スプレッドシートでリストを扱う際、空白セルがあるとデータの分析や可視化に悪影響を及ぼします。たとえば、空白セルが含まれる範囲でグラフを作成すると、グラフに不連続な部分が生じて見づらくなります。また、フィルタで抽出するときに空白行がノイズになることもあります。データのトリミングとは、こうした空白セルを除去または非表示にして、リストを連続した状態に整える操作です。これを実行することで、集計や参照がスムーズになり、見た目もすっきりします。
TRIM関数でセル内の余分なスペースを削除する
TRIM関数は、セル内の先頭・末尾・連続するスペースを削除する関数です。空白セル自体を詰めるわけではありませんが、データの前処理として重要な役割を果たします。たとえば、他のシステムからインポートしたデータに不要なスペースが含まれている場合、TRIM関数で整えてからQUERY関数などを使うと正確な結果が得られます。
- TRIM関数の基本構文を入力する
空いているセルに=TRIM(セル参照)と入力します。たとえば、A1セルの内容をトリミングするなら=TRIM(A1)です。 - 数式をコピーして必要な範囲に適用する
オートフィルを使って隣接セルに数式をコピーします。結果はトリミング後の文字列が表示されます。 - 必要に応じて値貼り付けで元のデータと置き換える
数式の結果を確定したい場合は、結果をコピーして右クリックから「値のみ貼り付け」を選択します。これで元のデータが置き換わります。
QUERY関数で空白行を除外して抽出する
QUERY関数は、指定した範囲に対してSQLライクなクエリを実行し、条件に合う行だけを抽出できます。空白行を除外するには、WHERE句で「列名 is not null」と指定します。この方法の利点は、元データを一切変更せずに別の場所に整形済みのリストを表示できることです。
- QUERY関数の構文を入力する
例:=QUERY(A:B, "select A, B where A is not null", 0)と入力します。範囲A:BからA列が空白でない行を抽出します。 - 複数列で条件を指定する場合
複数の列に空白がある場合where A is not null and B is not nullのようにANDで結合します。 - 結果が動的に更新されることを確認する
元データを変更すると、QUERY関数の結果も自動的に更新されます。フィルタのように一時的ではなく、常に最新の状態が保たれます。
QUERY関数は配列数式に対応しているため、=QUERY(A:B, "select * where A is not null", 1) のようにヘッダーを含めることもできます。ただし、大量のデータを扱う場合は処理が重くなることがあるので注意してください。
ADVERTISEMENT
フィルタ機能で空白行を一時的に非表示にする
フィルタを使えば、空白セルを含む行を簡単に非表示にできます。元データを変更せず、作業中だけ空白を隠したい場合に便利です。フィルタの設定は直感的で、初めての方でも迷わず操作できます。
- フィルタを設定する範囲を選択する
リスト全体(ヘッダー行を含む)を選択した状態で、メニューの「データ」→「フィルタ」をクリックします。各列のヘッダーにフィルタアイコンが表示されます。 - 空白行を除外するフィルタ条件を設定する
対象列のフィルタアイコンをクリックし、ドロップダウンリストから「空白」のチェックを外します。これで空白セルを含む行が非表示になります。 - 元に戻す場合はフィルタを解除する
もう一度「データ」→「フィルタ」をクリックしてフィルタをオフにすると、すべての行が再表示されます。
空白セルを削除してデータを物理的に詰める
どうしても空白セルを完全に除去したい場合は、行ごと削除するか、特定の列の空白だけを削除して詰める方法があります。ただし、この操作は元データを破壊的に変更するため、事前にバックアップを取ることをおすすめします。
- 空白行をまとめて削除する
フィルタで空白行だけを表示し、それらを選択して右クリック→「行を削除」を選びます。ただし、他の列にデータがある場合はその列も削除されてしまうため注意が必要です。 - 特定の列だけ空白を詰めるには
別シートに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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
