Excelで空白を削除する関数

SUBSTITUTE関数で文字間のスペースを削除する方法や、TRIM関数で先頭・末尾のスペースを一括削除する方法をご紹介します。空白を含む不要な行をまとめて削除する機能や、関数で空白行を上に詰める方法も解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

文字間のスペースを削除する関数

エクセルで文字間のスペースを一括削除する関数

SUBSTITUTE関数は検索対象の文字列から、検索文字列を検索して新しい文字列に置換します。

例えば SUBSTITUTE(A2,” ”,””) なら全角スペースを検索し、何もない状態に置換します。全角文字と半角文字は区別されるため、半角スペースは半角で入力してください。

SUBSTITUTE関数の構成要素:(文字列, 検索文字列, 新しい文字列, [置換対象])

エクセルで文字間のスペースを一括削除する関数

スペースは削除するだけでなく、句読点やカンマに置き換えることも可能です。

例えば SUBSTITUTE(A2,” ”,”-“) なら全角スペースを検索し、ハイフンに置換します。これを実行すると「0120 12 345」は、「0120-12-345」になります。

数式内に文字列や記号を指定する場合、二重引用符(”文字列”)が必要です。

エクセルで文字間のスペースを一括削除する関数

文字列内の特定のスペースだけを置換する場合は、置換対象に番号を指定します。

例えば SUBSTITUTE(A2,” ”,””,2) なら、文字列に含まれる 2 番目のスペースを新しい文字列に置換します。置換対象を省略した場合は、すべての検索文字列が置換されます。

スポンサーリンク

先頭と末尾の空白を削除する関数

エクセルで先頭と末尾のスペースを削除する関数

TRIM関数は単語間のスペースを 1 つ残し、不要なスペースをすべて削除します。

例の場合なら単語間の繰り返しのスペース、先頭と末尾のスーペース、が削除対象です。TRIM関数では全角・半角に関わらず、不要なスペースがすべて削除されます。

TRIM関数の構成要素:(文字列)

スポンサーリンク

空白を検索して置換する方法

エクセルで空白を検索して置換する方法

検索対象の範囲を選択し、[Ctrl]+[H] キーを押して[検索と置換]を開きます。

検索する文字列には空白を入力し、置換後の文字列はそのまま何も入力しないでください。[すべて置換]をクリックすると、範囲内に含まれる空白がすべて削除されます。

置換後の文字列に区切り文字を指定すると、空白を句読点やカンマに置き換え可能です。

スポンサーリンク

空白行を削除する方法

エクセルで空白行を一括削除する方法

空白行を含む表などの範囲を、いったん全て選択してください。

次に[ホーム]タブの[検索と選択]から、[条件を選択してジャンプ]を開きます。

ジャンプ機能を開くショートカットキー:[Ctrl]+[G]

エクセルで空白行を一括削除する方法

選択オプションから、[空白セル]にチェックを入れてください。

[OK]を押すと空白セルが選択状態になるので、右クリックメニューから[削除]をクリックします。

エクセルで空白行を一括削除する方法

削除するセル単体を1段上に詰める場合は、[上方向にシフト]を選択します。

このとき行全体が削除されたわけではないため、A列は連続した記号のまま残ります。

エクセルで空白行を一括削除する方法

空白セルの行全体を削除する場合は、[行全体]を選択してください。

このとき空白を含む行自体が削除されるので、A列の記号からは C と E がなくなります。

スポンサーリンク

空白行を詰める関数

エクセルで空白行を詰める関数

まず IF関数ROW関 を使って、空白でないセルに行番号を振ります。

例えば IF(B2=””,””,ROW()) はセルが空白なら空白を、空白でないなら行番号を返します。

IF関数の構成要素:(論理式, 真の場合の値, 偽の場合の値)

エクセルで空白行を詰める関数

次に SMALL関数 で、行番号を小さい順に並べます。

このときSMAL関数の順位にROW関数で 1 行目を指定しておくと、オートフィルでコピーしたときに値を小さい順に抽出可能です。

範囲は SMALL($A$2:$A$7,ROW(1:1)) のように、[F4]キーで固定しておきます。

SMALL関数の構成要素:(配列,順位)

エクセルで空白行を詰める関数

最後に INDEX関数で、範囲から行番号と列番号がクロスするセルの値を抽出します。

例えば INDEX(B:B,$E2) なら、抽出されるのは参照範囲の 2 行目の値(りんご)です。範囲には1列のみを指定しているので、列番号に関しては省略しています。

INDEX関数の構成要素:(範囲, [行番号], [列番号])

エクセルで空白行を詰める関数

INDEX関数の参照範囲は固定せずに、行番号の参照列のみを固定しています。

そのためオートフィルで数式をコピーするだけで、空白行を除く一連のデータを取得可能です。2 つの数式をまとめると、INDEX(B:B,SMALL($A$2:$A$7,ROW(1:1))) になります。

タイトルとURLをコピーしました