Googleスプレッドシートを使用していると、テキストに不要な空白が含まれているデータに直面することがあります。
本記事では、スプレッドシートで空白を効率的に削除する方法を4つご紹介します。
スプレッドシートで、不要な空白セルや空白行を削除したい場合は、こちらをご覧ください。
1. TRIM関数を使用する方法
TRIM関数は、テキストの先頭と末尾の空白を削除し、複数の空白を1つの空白に置き換える便利な関数です。
例えば、GoogleスプレッドシートのA2セルにTRIM関数を適用する場合は、以下のように書きます。
=TRIM(A2)
実際に、GoogleスプレッドシートでTRIM関数を使用してみます。
次のデータをセルA1:B4の範囲に貼り付けます。
A列にTRIM前のデータを入力し、B列にA列のデータに対して適用するTRIM関数を入力します。
名前 | 名前(TRIM後) |
---|---|
佐藤 太郎 | =TRIM(A2) |
鈴木 花子 | =TRIM(A3) |
田中 一郎 | =TRIM(A4) |
入力データの空白の入れ方は以下の通りです:
- 「佐藤 太郎」:文字間に半角空白1つ
- 「 鈴木 花子 」:先頭と末尾に半角空白1つ、文字間に半角空白3つ
- 「 田中 一郎 」:先頭、末尾、文字間に全角空白1つずつ
これらをスプレッドシートに入力し、表示結果を確認します。
TRIM関数は半角空白のみを処理するため、全角空白は残っていることが分かります。
2. SUBSTITUTE関数を使用する方法
SUBSTITUTE関数を使用すると、特定の文字(今回は空白)を別の文字に置き換えることができます。
例えば、GoogleスプレッドシートのA2セルにSUBSTITUTE関数を適用して、半角空白を削除する場合は、以下のように書きます。
=SUBSTITUTE(A2, " ", "")
半角空白と全角空白の両方を削除する場合は、以下のように書きます。
=SUBSTITUTE(SUBSTITUTE(A2, " ", ""), " ", "")
実際に、GoogleスプレッドシートでSUBSTITUTE関数を使用してみます。
次のデータをセルA1:C4の範囲に貼り付けます。
A列に元のデータを入力し、B列とC列にA列のデータに対して適用するSUBSTITUTE関数を入力します。
名前 | 名前(SUBSTITUTE関数、空白半角削除) | 名前(SUBSTITUTE関数、空白半角・全角削除) |
---|---|---|
佐藤 太郎 | =SUBSTITUTE(A2, ” “, “”) | =SUBSTITUTE(SUBSTITUTE(A2, ” “, “”), “ ”, “”) |
鈴木 花子 | =SUBSTITUTE(A3, ” “, “”) | =SUBSTITUTE(SUBSTITUTE(A3, ” “, “”), “ ”, “”) |
田中 一郎 | =SUBSTITUTE(A4, ” “, “”) | =SUBSTITUTE(SUBSTITUTE(A4, ” “, “”), “ ”, “”) |
これらをスプレッドシートに入力し、表示結果を確認します。
1つ目のSUBSTITUTE関数では、セル内の半角の空白(” “)は全て空の文字列(””)に置き換えられますが、全角の空白は残ります。
2つ目のSUBSTITUTE関数では、セル内の半角の空白(” “)と全角の空白(” ”)は全て空の文字列(””)に置き換えられます。
3. REGEXREPLACE関数を使用する方法
REGEXREPLACE関数を使用すると、正規表現を用いて半角と全角の両方の空白を一度に削除できます。
例えば、GoogleスプレッドシートのA2セルにREGEXREPLACE関数を適用する場合は、以下のように書きます。
=REGEXREPLACE(A2, "[ ]+", "")
この数式では、正規表現 “[ ]+” を使用しており、[]内に半角空白と全角空白が含まれています。
これにより、半角・全角両方の空白を探して、空の文字列(””)に置き換えられます。
正規表現 “[ ]+” について詳しく知りたい方は、こちらをご覧ください!
実際に、GoogleスプレッドシートでREGEXREPLACE関数を使用してみます。
次のデータをGoogleスプレッドシートのセルA1:B4の範囲に貼り付けます。
A列に元のデータを入力し、B列にA列のデータに対して適用するREGEXREPLACE関数を入力します。
名前 | 名前(REGEXREPLACE関数) |
---|---|
佐藤 太郎 | =REGEXREPLACE(A2, “[ ]+”, “”) |
鈴木 花子 | =REGEXREPLACE(A3, “[ ]+”, “”) |
田中 一郎 | =REGEXREPLACE(A4, “[ ]+”, “”) |
これらをスプレッドシートに入力し、表示結果を確認します。
REGEXREPLACE関数によって、セル内の半角の空白(” “)と全角の空白(” ”)が全て削除されていることが分かります。
4. Google Apps Script (GAS) を使用する方法
より高度な空白の削除や一括処理を行いたい場合は、Google Apps Script(GAS)を使用するのがおすすめです。
今回は、半角と全角の両方の空白を一度に削除するスクリプトを作成します。
スプレッドシートのメニューバーから「拡張機能」を選び、「Apps Script」を選択します。
「Apps Script」を選択すると、GASのスクリプトエディタが新しいタブで開くので、下記のスクリプトをコピペして保存します。
function removeSpaces() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange();
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (typeof values[i][j] === 'string') {
values[i][j] = values[i][j].replace(/\s+/g, '');
}
}
}
range.setValues(values);
}
スクリプトエディタの「実行」ボタンをクリックして実行すると、下記の流れでシート内のすべての文字列から空白が削除されます。
SpreadsheetApp.getActiveSheet()
でアクティブなシートを取得します。sheet.getDataRange()
でデータが存在する範囲を取得します。range.getValues()
で範囲内のすべての値を2次元配列として取得します。- 二重ループで各セルの値をチェックします。
- 文字列型の場合、正規表現
/\s+/g
を使用してすべての空白文字を削除します。 range.setValues(values)
で修正された値をシートにセットし直します。
正規表現 /\s+/g
について詳しく知りたい方は、こちらをご覧ください!
スクリプトを実行後、スプレッドシートに戻って表示結果を確認します。
GASを使って、セル内の半角の空白(” “)と全角の空白(” ”)を全て削除できていることが分かります。
5. データクリーンアップ機能を使用する方法
Googleスプレッドシートには、組み込みのデータクリーンアップ機能があります。
データクリーンアップ機能を使用すると、先頭と末尾の空白を削除し、文字間の複数の空白を1つの空白に置き換えることができます。
実際に、Googleスプレッドシートでデータクリーンアップ機能を使用していきます。
まず、空白を削除したい範囲を選択します。
そして、その状態でメニューから「データ」>「データクリーンアップ」>「空白文字を削除」を選択します。
「空白文字を削除」を選択すると、「空白文字を削除」というダイアログが表示されるので「OK」を選択します。
スプレッドシートの表示結果を確認します。
データクリーンアップ機能により、先頭と末尾の半角・全角空白を削除し、複数の空白を1つに置き換えていることが分かります。
まとめ
Googleスプレッドシートで空白を削除する方法は複数あります。
単純な作業の場合には、TRIM関数やSUBSTITUTE関数を使用するのが簡単です。
より複雑な処理に組み込む場合には、Google Apps Scriptを使用するのがおすすめです。
状況に応じて最適な方法で、空白を削除してみてください!
コメント