この記事では、【Excel】エクセルで同じ文字や数字を消す・削除(一括:置換や関数:セルの特定の文字列:重複をすべてなど)する方法について確認しました。
早速詳しく見ていきましょう!
エクセルでセルの内の特定の文字列を一括置換で消す方法【シート内すべて:※ごりらを削除】
エクセルでセル内の特定の文字列を一括で削除するには、置換機能を使用するといいです。
以下では、セル内に残っている※ごりらを一気に消していきます!
まず、 Ctrl+Hを押して置換ダイアログを開きます。
「検索する文字列」に削除したい文字列(今回は「※ごりら」)を入力します。
「置換後の文字列」は空白のままにします。
「すべて置換」をクリックします。
これで、シート内の「※ごりら」という文字列がすべて削除されます!
VBA(マクロ)の場合
Alt+F11でVBE画面を開いて以下をコピペしましょう。
Sub 文字列削除()
Cells.Replace What:="※ごりら", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Alt+F8でマクロ選択画面を開き文字列削除関数を実行します。
このマクロは
Cells.Replaceで、シート全体のセル(Cells)を対象に置換
What:=”※ごりら”で検索文字列を指定
Replacement:=””で置換後の文字列を空に指定
LookAt:=xlPartで部分一致を指定
SearchOrder:=xlByRowsで行単位の検索を指定
MatchCase:=Falseで大文字小文字を区別しない
という意味になります。これにより、「※ごりら」が空文字に置換されて削除されます(^^)/
※なお、数値であっても同様に検索列に該当数値を入れれば一括削除できます※
エクセルでセルの内の数字を関数で消す方法【シート内すべて:数字はすべて】
エクセルでセルの値が数字の場合のみ一括で削除するには、SUBSTITUTE関数とISNUMBER関数を組み合わせて使います。
以下の式をB1セルに入力し、B列全体にオートフィルします。
=IF(ISNUMBER(A1),SUBSTITUTE(A1,A1,""),A1)
この式の意味は、
ISNUMBER(B1)で、B1セルが数値かどうかを判定
数値の場合は、SUBSTITUTE(B1,B1,””)でB1セルの値を空文字に置換
数値でない場合は、そのままB1セルの値を返す
というものです。
この操作のみで、数値のセルは削除され(空白に変換)、文字列のみのセルが残りました。
VBA(マクロ)の場合
Alt+F11でVBE画面を開いて以下をコピペしましょう。
Sub 数字削除()
Dim rng As Range
Set rng = Range("A1", Range("A1").End(xlDown))
For Each cell In rng
If IsNumeric(cell) Then
cell.Value = ""
End If
Next cell
End Sub
Alt+F8でマクロ選択画面を開き数字削除関数を実行します。
このマクロは
– Dim rng As Rangeで変数rngを宣言
– Set rng = Range(“A1”, Range(“A1”).End(xlDown))でB1セルから最終行までのセル範囲をrngに設定
– For Each cell In rngでrng内の各セルについてループ処理
– If IsNumeric(cell) Thenでセルの値が数値かどうか判定
– 数値の場合はcell.Value = “”でセルの値を空に設定
という処理を行います。これにより、B列の数値のみが削除されます。
エクセルで重複セルを一括削除する方法【先頭のみ残す】
エクセルで重複セルを削除するには、重複を削除したい範囲を選択し、データタブの「重複の削除」を使用します。
その際、「重複値を含むすべての行を削除する」のチェックを外します。
これにより、重複値の先頭のみが残り、それ以降の重複値が削除されます。
VBA(マクロ)の場合
Alt+F11でVBE画面を開いて以下をコピペしましょう。
Sub 重複削除()
Columns("A:A").Select
ActiveSheet.Range("$A$1:$A$5").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
Alt+F8でマクロ選択画面を開き重複削除関数を実行します。
このマクロは、
– Columns(“A:A”).Selectで列Aを選択
– ActiveSheet.Range(“$A$1:$A$5”).RemoveDuplicatesで$A$1:$A$5の範囲で重複を削除
– Columns:=1で1列目を比較対象に指定
– Header:=xlNoで1行目をラベルとして見なさないように指定
という処理を行います。これにより、A列の重複値が2番目以降削除されます。
まとめ
以上が、エクセルで文字列・数字・重複セルを削除する方法の解説です。
置換や関数、重複の削除機能を使えば簡単に一括処理ができます。
より複雑な処理にはマクロを使うのも有効です。
これらを活用して、データの整理・クレンジングにお役立てください。