エクセルの表に入っているスラッシュ(/)を消したいのに、うまく削除できずに困った経験はありませんか。
出張先のリストや商品コード、日付の文字列など、エクセルでは様々な場面でスラッシュが混在します。
1件ずつ手作業で削除するのは非効率ですし、日付として認識されているセルを誤って崩してしまうこともあります。
この記事では、検索と置換機能を使った一括削除の方法から、SUBSTITUTE関数を使った数式での処理、さらにVBAマクロを使った複数シートへの一括対応まで、幅広く解説します。
文字列から記号を除去する基本的な考え方も合わせて押さえておきましょう。
エクセルで/を消す方法の結論は置換機能と関数の使い分けです
結論から言うと、エクセルで/を消す方法は大きく二つです。
一つは検索と置換機能(Ctrl+H)を使った一括削除、もう一つはSUBSTITUTE関数を使った数式での除去です。
表全体や複数シートにあるスラッシュを問答無用で消したいなら置換機能、元のデータを残したまま別のセルに加工後の文字列を表示したいなら関数を使うのが基本の考え方になります。
以下のような出張申請の管理表を例に、それぞれの方法を確認していきます。
| 申請No | 申請者 | 出張先 | 出張日(文字列) | 備考 |
| 1 | 佐藤 | 東京/大阪 | 2024/05/10 | 出張/研修 |
| 2 | 鈴木 | 名古屋/京都 | 2024/05/15 | 商談/打合せ |
| 3 | 田中 | 福岡/熊本 | 2024/05/20 | 視察/現地調査 |
この表のC列「出張先」やE列「備考」には、複数の情報を区切るためのスラッシュが入っています。
一方でD列「出張日」は見た目が日付のようですが、実際には文字列として入力されているケースを想定しています。
このように本当に消したいスラッシュと日付の表示形式として必要なスラッシュを見分けることが、作業を始める前の重要なポイントになります。
| 検索する文字列 | / |
| 置換後の文字列 | (空欄) |
閉じる
上の図のように、検索する文字列にスラッシュを入れて置換後の文字列を空欄にすれば、選択した範囲からスラッシュだけを取り除くことができます。
検索と置換(Ctrl+H)でスラッシュを一括削除する手順
検索と置換機能は、エクセルの中でも最もよく使われる機能の一つです。
まず削除したい範囲を選択し、キーボードのCtrl+Hを押すと、検索と置換のダイアログが開きます。
検索する文字列の欄にスラッシュを入力し、置換後の文字列は空欄のままにします。
そのうえで「すべて置換」をクリックすれば、選択範囲内のスラッシュがまとめて削除されます。
範囲を選択せずに実行すると、シート全体が対象になってしまう点には注意が必要です。
日付のセルまで巻き込んでしまうと表示が崩れるため、対象範囲は事前にしっかり絞り込みましょう。
SUBSTITUTE関数で文字列内のスラッシュだけを除去する方法
元のデータをそのまま残しておきたい場合は、関数を使う方法が安心です。
代表的なのがSUBSTITUTE関数で、指定した文字列の中から特定の文字を探し、別の文字に置き換えることができます。
SUBSTITUTE関数の基本構文は次のとおりです。
=SUBSTITUTE(対象の文字列, 検索文字列, 置換文字列)
たとえばC2セルの「東京/大阪」からスラッシュだけを取り除きたい場合は、次の数式になります。
=SUBSTITUTE(C2,”/”,””)
この数式の結果は「東京大阪」という文字列になります。
置換文字列の部分を空文字(””)にすればスラッシュが削除され、別の文字を指定すれば区切り文字を変換することもできます。
日付形式とテキスト形式の/を見分けるポイント
エクセルで表示されるスラッシュには、実は二つの種類があります。
一つはセルに直接入力された文字としてのスラッシュ、もう一つは日付の表示形式によって自動的に表示されているスラッシュです。
セルを選択して数式バーを確認したとき、入力されている内容がそのままスラッシュ付きで表示されていれば文字列の可能性が高いです。
逆に数式バーには日付として表示され、セルの右側に揃っている場合はシリアル値としての日付かもしれません。
後者のセルに対して置換機能を使うと、見た目だけが変わって計算に使えなくなるなど、思わぬトラブルにつながることがあります。
作業前に対象セルがどちらの形式かを必ず確認しておきましょう。
【検索と置換を使う前に対象範囲を選択し、日付として扱われているセルが含まれていないかを数式バーで確認してから実行しましょう】
検索と置換機能を使った具体的な操作方法
ここからは、検索と置換機能をより実務的に使うための操作手順を詳しく見ていきます。
単純にスラッシュを消すだけでなく、範囲指定や適用先の切り替えまで理解しておくと、表全体の修正がぐっとスムーズになります。
Ctrl+Hダイアログの開き方と入力項目
検索と置換のダイアログは、ホームタブの「検索と選択」から「置換」を選んでも開くことができます。
ショートカットキーのCtrl+Hを使えば、マウス操作なしで一瞬で呼び出せるので覚えておくと便利です。
ダイアログには「検索する文字列」と「置換後の文字列」の二つの入力欄があり、必要に応じて「オプション」ボタンから大文字と小文字の区別やセル内容の完全一致といった細かい条件も指定できます。
| 検索 | 置換 | 条件を選択してジャンプ |
選択範囲 C2セル~C4セル が出張先列として指定されている状態
範囲選択した状態で置換を実行する手順
表全体ではなく、特定の列だけスラッシュを消したいという場面は意外と多いものです。
その場合は、まず対象となる列や範囲をドラッグして選択しておきます。
その状態でCtrl+Hを開くと、ダイアログの下部に「選択範囲内を検索」というチェック項目が表示されますので、必ずチェックを入れましょう。
このチェックを忘れると、選択していたつもりでもシート全体が置換対象になってしまうことがあります。
出張先の列だけ、備考の列だけ、というように対象を絞り込むことで、日付列への影響を防ぐことができます。
シート全体やワークブック全体に一括適用する設定
複数のシートにまたがって同じようにスラッシュが入っている場合、一枚ずつ処理するのは手間がかかります。
検索と置換のオプションには「検索対象」という項目があり、ここを「シート」から「ブック」に切り替えることで、開いているすべてのシートに対して一括で置換を実行できます。
大量のシートを扱う名簿や月別の管理表などでは、この設定を活用すると作業時間を大幅に短縮できます。
ただし対象が広がるほど誤って消してしまうリスクも増えるため、実行前にファイルのコピーを取っておくと安心です。
【ブック全体に置換を適用する前には必ずファイルを別名で保存し、元データを失わないようにバックアップを取っておきましょう】
SUBSTITUTE関数とTRIM関数を組み合わせた数式処理
置換機能は手軽ですが、元のデータを直接書き換えてしまう点がデメリットです。
業務で使うデータは、できるだけ元の値を残したまま、別のセルで加工結果を確認したいという場面も多いでしょう。
ここでは関数を使ったスラッシュ除去について、もう少し踏み込んで解説します。
SUBSTITUTE関数の基本構文と引数の意味
SUBSTITUTE関数は、対象の文字列、検索文字列、置換文字列、そして省略可能な置換対象の四つの引数で構成されています。
最後の置換対象を省略すると、見つかったすべての文字が置換されます。
一方で数値を指定すると、たとえば1を指定すれば最初に見つかった一つだけを置換するという挙動になります。
似たような関数にREPLACE関数がありますが、こちらは文字の位置を指定して置き換える関数なので、特定の文字を探して置き換えるSUBSTITUTE関数とは使い分けが必要です。
記号の削除や置換にはSUBSTITUTE関数のほうが向いているケースがほとんどです。
複数のスラッシュを別の文字に置き換える数式例
備考列の「出張/研修」のように一つのセルに複数のスラッシュが含まれる場合でも、SUBSTITUTE関数なら一度の数式で対応できます。
E2セルの「出張/研修」を読みやすい表記に整えたい場合は、次の数式を使います。
=SUBSTITUTE(E2,”/”,”、”)
この数式を入力すると、結果は「出張、研修」という文字列に変換されます。
スラッシュを完全に消すだけでなく、読点に置き換えることで文章として読みやすくなる点が大きなメリットです。
単純にスラッシュを消すだけが正解ではなく、業務の用途に合わせて区切り文字を選び直すという発想も持っておきたいところです。
オートフィルで全行に数式をコピーする方法
一つのセルに数式を入力できたら、あとはオートフィルで他の行にもまとめて反映させます。
数式を入力したセルを選択し、セルの右下に表示される小さな四角(フィルハンドル)にマウスを合わせます。
ポインタが十字の形に変わったら、そのままドラッグして必要な行までコピーしましょう。
| C | F(変換後) | |
| 2 | 東京/大阪 | =SUBSTITUTE(C2,”/”,”、”) |
| 3 | 名古屋/京都 | ↓オートフィルでコピー |
| 4 | 福岡/熊本 | ↓ |
先頭のセルにだけ数式を入力しておき、あとはオートフィルで引っ張るだけなので、何百行あっても手間は変わりません。
変換後の出張先は、次のような結果になります。
| 出張先(元) | 出張先(変換後) |
| 東京/大阪 | 東京、大阪 |
| 名古屋/京都 | 名古屋、京都 |
| 福岡/熊本 | 福岡、熊本 |
【数式は先頭の1行にだけ入力し、フィルハンドルをダブルクリックすれば最終行まで自動で数式がコピーされます】
日付セルに含まれる/を消したい場合の注意点とセル書式の対処法
ここまでは文字列としてのスラッシュを扱ってきましたが、日付が絡むと話が少し変わってきます。
見た目はそっくりでも、内部的な扱いが大きく異なるためです。
表示形式が日付になっているセルとテキストセルの違い
エクセルでは「2024/5/10」のように入力すると、自動的に日付として認識されてシリアル値で管理されます。
このときスラッシュは実際の文字として保存されているわけではなく、表示形式(書式)によって画面上に表示されているだけです。
そのため検索と置換でこのセルのスラッシュを消そうとしても、置換対象として見つからないことがあります。
逆にCSVから取り込んだデータなどでは、見た目は日付でも実際にはテキスト形式のスラッシュ付き文字列として保存されている場合もあるので、こちらは普通に置換できてしまいます。
日付を文字列化してから置換する手順
もし日付の表示自体からスラッシュをなくしたい場合は、表示形式を変更するのが正しいアプローチです。
セルを右クリックして「セルの書式設定」を開き、表示形式タブの中から「日付」または「ユーザー定義」を選びます。
| 分類 | 標準/数値/日付/時刻/ユーザー定義 |
| 種類 | yyyy”年”m”月”d”日” |
| サンプル | 2024年5月10日 |
種類の欄に「yyyy”年”m”月”d”日”」のようなユーザー定義の表示形式を入力すれば、スラッシュを使わない和暦風の日付表示に変えることができます。
この方法であれば日付データとしての性質を保ったまま、見た目だけスラッシュなしに整えられます。
元の日付データを壊さないためのコピー&値貼り付け活用法
どうしても日付を文字列としてスラッシュなしで持ちたい場合は、TEXT関数を使う方法もあります。
=TEXT(D2,”yyyymmdd”)と入力すれば、「2024/05/10」という日付から「20240510」という8桁の文字列を作ることができます。
作成した文字列をコピーし、元の列に「値のみ貼り付け」で上書きすれば、数式を残さずに結果だけを反映できます。
このとき元の日付列は別の場所に残しておき、作業後も見比べられるようにしておくと安心です。
日付として扱われているセルに置換機能を直接使うと、表示が崩れたり計算ができなくなったりするおそれがあります。
日付を加工する場合は、必ずTEXT関数などで文字列化したうえで処理するようにしましょう。
【日付のスラッシュを消したいときは置換機能を使わず、セルの書式設定またはTEXT関数で対応しましょう】
VBAマクロで複数シートのスラッシュを一括削除する方法
毎月同じ作業を繰り返している場合は、VBAマクロを組んでおくとボタン一つで処理が完了します。
ここでは出張申請一覧のようなブックを想定し、すべてのシートのスラッシュをまとめて変換するマクロを紹介します。
マクロの記述例とコードの解説
下記のコードは、ブック内のすべてのワークシートを順番に処理し、スラッシュを読点に置き換えるマクロです。
Sub Replace_Slash_AllSheets()
```
Dim ws As Worksheet
Dim targetRange As Range
For Each ws In ThisWorkbook.Worksheets
Set targetRange = ws.Range("A1:E100")
targetRange.Replace What:="/", Replacement:="、", _
LookAt:=xlPart, MatchCase:=False, SearchFormat:=False
Next ws
MsgBox "すべてのシートのスラッシュを置換しました"
```
End Sub
コードの最初にあるFor Each ws In ThisWorkbook.Worksheetsの部分で、ブックに含まれるすべてのシートを一枚ずつ取り出して処理しています。
続くSet targetRangeの行では、処理対象とする範囲をA1からE100までに限定しており、日付が入っているかもしれない列を意図的に範囲外にすることでリスクを減らす工夫もできます。
targetRange.Replaceの部分が実際の置換処理本体で、Whatに検索したい文字、Replacementに置き換えたい文字を指定します。
LookAt引数をxlPartにしておくことで、セルの一部にスラッシュが含まれている場合でも反応するようになっています。
最後のMsgBoxは処理が完了したことを知らせるポップアップで、なくても動作には問題ありません。
マクロ実行後のセルの変化と確認方法
このマクロを実行すると、対象範囲にあるすべてのスラッシュが読点に変換されます。
出張先や備考の列は、スラッシュで区切られていた箇所が自然な日本語の区切りに変わり、印刷した資料としても読みやすくなります。
| 列 | マクロ実行前 | マクロ実行後 |
| 出張先 | 東京/大阪 | 東京、大阪 |
| 備考 | 出張/研修 | 出張、研修 |
一方で対象範囲をA1からE100に限定しているため、出張日の列にもし本物のスラッシュ付き文字列が入っていれば、そちらも一緒に置き換えられてしまう点には注意が必要です。
実行前にどの列が日付の書式なのか、どの列がただの文字列なのかを必ず確認しておきましょう。
マクロを安全に使うための事前バックアップのポイント
マクロによる一括処理は便利な反面、実行すると元に戻すのが難しい操作です。
実行前には必ずファイルをコピーして別名で保存しておき、想定外の結果になった場合にも元のデータに戻せるようにしておきましょう。
また初めて使うマクロは、まず数行だけのテスト用シートで動作を確認してから本番のデータに適用するという手順を踏むと安心です。
Ctrl+Zによる取り消しがマクロには効かない場合もあるため、慣れていない場合は特に慎重に進めましょう。
【マクロを実行する前には必ずファイルのバックアップを取り、テスト用のシートで動作確認をしてから本番データに適用しましょう】
エクセルで記号を扱う際に知っておきたい関連知識
スラッシュの削除に限らず、エクセルではハイフンやカンマ、スペースといった記号全般を扱う場面が多くあります。
TRIM関数で余分なスペースもまとめて整える
スラッシュを削除した後、文字列の前後や単語の間に余分なスペースが残ってしまうことがあります。
そのようなときはTRIM関数を組み合わせると便利です。
=TRIM(SUBSTITUTE(C2,”/”,” “))のように関数を入れ子にすれば、スラッシュをスペースに変換したうえで余分なスペースまで一度に整理できます。
ワイルドカードを使ったあいまいな検索条件の指定
検索と置換のオプションには、ワイルドカードを使った検索が可能な場面もあります。
アスタリスクやクエスチョンマークを組み合わせれば、スラッシュの前後にある文字を含めて一括で条件を指定することもできるので、複雑なパターンの文字列処理にも対応できます。
半角と全角のスラッシュが混在しているケースへの対応
データによっては、半角のスラッシュと全角のスラッシュが同じ列に混在していることがあります。
この場合は検索と置換を二回に分けて実行するか、SUBSTITUTE関数を二重に重ねて両方のパターンに対応させる必要があります。
見た目が似ているため気づきにくいポイントですが、データを整える際には意識しておきたい部分です。
エクセルで記号除去・一括消去・置換機能まとめてスラッシュを消す方法
エクセルでスラッシュを消す方法には、検索と置換による一括削除、SUBSTITUTE関数による数式処理、そしてVBAマクロによる自動化という三つのアプローチがあります。
単純に記号を消したいだけならCtrl+Hの置換機能が最も手軽でしょう。
元のデータを残しながら加工結果を確認したい場合は、SUBSTITUTE関数やTRIM関数を組み合わせるのが安心です。
そして同じ作業を毎回繰り返すような業務であれば、VBAマクロを用意しておくことで一括消去の手間を大きく減らせます。
日付として認識されているセルかどうかを見極めることも、トラブルを避けるうえで欠かせないポイントです。
用途に応じてこれらの方法を使い分けながら、文字列から記号を取り除く作業を効率化していきましょう。


コメント