エクセル初心者
エクセルの置換がうまくできないんだけど、どうしたらいい?
置換なら一度に文字を直せるはずなのに…
置換がうまくできない原因はいくつかあるんだよ。
ケース別の対処法を見てみよう!
Dr.オフィス
今回はエクセルの置換がうまくできない場合の原因と対処法について解説します。
よくある原因と、それ以外の特殊なケースについても対処法を解説しています。
この記事を読むことで、置換できない状態が解消されてスッキリできますよ。
- 大文字・小文字や半角・全角が異なっている場合はオプションのチェックを外す
- 置換する条件に書式の設定が追加されている場合は書式検索のクリアを押す
- フィルターで隠れているセルは置換できないのでフィルターを解除する
- 「セルの書式設定」の「ユーザー定義」が使われているかどうか確認する
MOSエクセルエキスパートの資格を持つ私が、置換がうまくできない場合の対処法を解説するよ!
Dr.オフィス
置換がうまくできないと不安になりますが、原因はそれほど難しくはありません。原因さえ分かればとても簡単に対処できます。
エクセルの置換についてより詳しく書かれた記事≫【エクセルの置換】使い方を基本から応用まで解説!も併せてご覧ください。
※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。
目次
エクセルで置換できない!よくある原因と対処法!
エクセルを使っていて置換ができない場合のよくある原因をまとめてみました。
例えば『:』と『;』、『渡邊』と『渡邉』、『一(漢数字のイチ)』と『―(記号のハイフン)』など、似ている記号や漢字が混在している場合も、すべてを一度に置換することはできないので気を付けよう!
Dr.オフィス
大文字・小文字や半角・全角が異なっている
「検索と置換」ダイアログボックスにはオプションがあり、検索・置換する条件を選ぶことができます。
初期設定では
- 大文字と小文字を区別する
- 半角と全角を区別する
このチェックは外れています。
ですが、何らかの操作でチェックが付いてしまった場合は、大文字・小文字や半角・全角が異なっていると置換することができなくなってしまいます。
具体的な手順で、「置換できない!」を見てみましょう。
- STEP
検索する文字列に小文字を入力
- 「検索する文字列」に小文字を入力
- 「オプション」をクリック
- STEP
「大文字と小文字を区別する」にチェックが入っているため、大文字は置換されない
- 「大文字と小文字を区別する」にチェックが入っている
- この状態で置換しても、大文字である「ABC」は置換されない
この場合で大文字と小文字の両方を置換したい場合は、「大文字と小文字を区別する」のチェックを外します。
スペース(空白)を置換して削除したい場合は、一目では半角スペースなのか全角スペースなのか分かりにくいので、「半角と全角を区別する」チェックが外れていることを確認しましょう。
スペース(空白)の置換がうまくいかないケースについては、こちら≫空白が置換できない!で詳しく解説します。
置換する対象が値ではなく数式になっている
置換する対象が数字の場合も注意が必要です。
こちらも具体的な手順で「置換できない!」を見てみましょう。
- STEP
「検索する文字列」に15と入力
セルA1に「15」、セルA2には「=10+5」と入力されています。
この状態で、「検索する文字列」に「15」と入力します。置換後の文字列は任意でかまいません。
- STEP
数式が入力されたセルは置換されない
この状態で置換すると、15と入力されたセルのみ置換されます。
このように、「15」という数字を他の数字に置換したい場合、セルに直接「15」と入力されていれば問題ありませんが、「=10+5」と入力されている場合は置換することができません。
その場合は少し面倒ですが、「答え(値)が15になる数式」を検索して、ひとつひとつ手作業で数式を修正することとなります。
「答え(値)が15になる数式」を検索する手順を見てみましょう。
- STEP
検索対象を「値」にする
- 「検索と置換」ダイアログボックスから「検索」タブを開く
- 検索対象を「値」にする
- 「すべて検索」をクリック
- STEP
値が「15」になるセルがすべて検索された
数式かどうかに関わらず、値が15になるセルがすべて検索されました。
あとは手作業で修正します。
≫特定の文字やワイルドカードで探す方法について詳しく解説していますのでご参照ください。
「セルの書式設定」の「ユーザー定義」が使われている
セルの書式設定の「ユーザー定義」で表示されている場合も置換することができません。
具体的な手順で、「置換できない!」を見てみましょう。
- STEP
ユーザー定義の設定を確認
- セルA2を右クリック→「セルの書式設定」もしくはCtrl+1で「セルの書式設定」を呼び出す
- 表示形式→ユーザー定義で「00″個”」と入力されていることを確認
- STEP
ユーザー定義により「個」が表示されている場合は置換されない
ユーザー定義により「個」が表示されている場合は、「15個」と検索しても置換されません。
「15個」と入力されている場合も、「15」と入力し、書式設定の「ユーザー定義」で「個」を表示しても見た目は同じです。
しかしながら置換した結果が異なってしまいます。
その場合は、置換する対象が値ではなく数式になっている場合と同様、「検索と置換」ダイアログボックスの「検索」より、検索オプションの「検索対象」を「値」にして検索し、手作業で修正します。
なお、シート名やセルに意図せずスペースが入ってしまっている場合も、置換がうまくいかないことがあります。書式設定のユーザー定義が使用されているかどうかと併せて確認してください。
特に、他のファイルやウェブサイトからコピーアンドペーストで文字を入力した場合、半角スペースが文字の前後に追加されていることがありますので気を付けましょう。
置換する条件に書式の設定が追加されている
置換する条件に書式が追加されている場合も注意が必要です。
検索する値が合致していることにプラスして、セルの書式も合致していなければ置換することができないためです。
置換できないケースを確認してみましょう。
- 「検索する文字列」に15と入力
- 書式セットに「赤文字・黄色塗りつぶし」が登録されていることを確認
- ①②両方に合致しているA2セルのみが置換される
「検索する文字列」と「書式セット」の両方が入力されている場合は、両方の条件を満たしている場合のみ置換されます。
意図せず書式検索の条件が付いてしまった場合は、「書式検索のクリア」を押すことで、セルの書式に関わらず値を置換できるようになります。
以下の手順で書式検索をクリアしましょう。
- STEP
「書式検索のクリア」をクリック
- 「書式」脇の下向き三角形▼をクリック
- 「書式検索のクリア」をクリック
- STEP
書式がクリアされた
書式がクリアされ、セルの書式に関わらず値を置換できるようになりました。
フィルターやテーブルを使っている
置換したい値がフィルターで隠れている場合は、隠れている値を置換することができません。
フィルターの使用により置換できないケースを見てみましょう。
- STEP
B列の2~4行に同じ数字が入力されていることを確認
B列の2~4行にはいずれも「15」が入力されています。
- STEP
フィルターをかけて置換すると置換件数が少ない
- フィルターをかけて3行目の「みかん」の行を非表示にする
- 「検索する文字列」を15として「すべて置換」をクリック
- 3件中2件しか置換されないことを確認
- STEP
フィルターを解除し、隠れていたセルは置換されないことを確認
フィルターで隠れていた「みかん」の行の値は置換されませんでした。
このように、フィルターで隠れているセルは検索の対象とならず、検索する文字と合致していても置換されません。
フィルターの設定をしている場合は、一度フィルターを解除してから置換することをおすすめします。
≫フィルター機能の設定と解除方法について解説していますのでご参照ください。
また、エクセルの「テーブル機能」と使用している場合、書式検索つきの置換がうまくいかないことがありますので、あわせて知っておくと良いでしょう。
ワイルドカードの使い方が異なる
あいまい検索ができるワイルドカードを置換に活用する場合、?と*の使い方を間違うと置換がうまくできません。
≫ワイルドカードを使って置換する方法について解説していますのでご参照ください。
間違った範囲選択やワークシートで操作(置換)している
置換する際に、複数のセルを選択している場合は、選択された範囲内でしか置換をすることができません。
シート全体の値を置換したい場合は、範囲選択を解除してから置換しましょう。
また、置換する範囲は、デフォルトだと「表示されているワークシート」のみが対象となっています。
すべてのワークシート(一つのエクセルファイル内)の値を置換したい場合は、オプションの「検索場所」を「ブック」に変更しましょう。
置換できない特殊なケースの対処法
続いて、特殊な原因で置換できない場合の対処方法をケース別にご紹介します。
よくある原因では該当するものがなかった場合、ぜひご覧ください。
範囲指定内で置換できない!
範囲選択したセルの値だけを置換するつもりが、シート内の該当する値をすべて置換してしまうことがあります。
範囲指定内で置換できないケースを確認してみましょう。
- STEP
範囲指定をした状態で「すべて検索」をクリック
セルB8~B13を範囲指定をした状態で「すべて検索」をクリックします。
- STEP
範囲指定が解除されてしまうことを確認
セルB8~B13の範囲指定が解除されてしまいます。
- STEP
選択範囲内で置換できない
- 「すべて検索」をクリックすると範囲指定が解除される
- 「すべて置換」をクリックするとシート内すべての値が置換の対象となる
範囲指定内で置換をする場合は、「すべて置換」「置換」を押す前に「すべて検索」をクリックしてしまうと、選択範囲が解除されてしまいます。
選択範囲が解除されていることに気付かずに「すべて置換」を押してしまうと、シート内すべての値を検索・置換してしまいます。
その場合はいったん「検索と置換」ダイアログボックスを閉じCtrl+Zで操作前の状態に戻してから、再び範囲選択をして置換をしてください。
なお、置換はショートカットキーCtrl+Hでダイアログボックスを表示させることができます。
空白が置換できない!
空白が置換できない場合、最も多いケースが「半角スペースと全角スペースが混在している」ことです。
「検索と置換」ダイアログボックスのオプションにある「半角と全角を区別する」のチェックを外してから再度置換してみてください。
また、ウェブサイトからエクセルに文字をコピーアンドペーストすると、「ノーブレーキングスペース」という特殊な空白文字が挿入されている場合があります。
この場合、置換機能を使って空白を置換することはできないので注意が必要です。
その場合は手作業で置換するか、「SUBSTITUTE関数」を使って置換しましょう。
=SUBSTITUTE(置換したいセル番地,CHAR(160),置換する文字列)
この数式で置換することができます。
CHAR(160)とは、ノーブレーキングスペースのことを表しています。
スペースを削除したい場合は、「置換する文字列」に「””」を入力します。
≫SUBSTITUTE関数を使って置換する方法について解説していますのでご参照ください。
「保護されたシートに対してこのコマンドは使用できません」と出て置換できない!
置換をしようとしたらこのようなエラーメッセージが出た場合、そのエクセルシートは保護がかかっています。
次の手順でシートの保護を解除しましょう。
- 「校閲」タブをクリック
- 「シートの保護解除」をクリック
シートの保護を解除したうえで改めて置換しましょう。
≫シートの保護や解除をする方法について解説していますのでご参照ください。
記号が置換できない!
「?」と「*」はあいまいな文字列を検索するための記号(ワイルドカード)です。
これらを置換するにはコツが必要です。
まずは、「?」や「*」がうまく置換されないケースを見てみましょう。
- STEP
「検索する文字列」に「?」を入力
セルA2を置換したいと思い、「検索する文字列」に「?」と入力します。
- STEP
「?」のみではなく、すべての値が置換されてしまうことを確認
セルA2以外のすべての値が置換されてしまいました。
「検索する文字列」に「?」や「*」のみを入力した場合、ワイルドカードとみなされ、すべての値が置換されてしまいます。
「?」や「*」そのものを置換したい場合は、「~(チルダ)」を使いましょう。
- 「検索する文字列」の?の前に「~(チルダ)」を入力
- 「?」が入力されていたセルA2のみ置換された
「~」は、半角英数の状態でShift+へを押すことで入力できます。
この「~(チルダ)」の使い方は、置換の場合だけではなくCOUNTIF関数やFIND関数の場合にも使えるので、覚えておくと便利だよ!
Dr.オフィス
数式が置換できない!
数式を置換しようとした際に「値を更新」のダイアログボックスが開いて置換できないことがあります。
よくある「数式が置換できない!」を見てみましょう。
- STEP
置換により数式内のシート名を「4月」から「5月」に変更する
- セルB2に「=’4月’!A1」と入力されていることを確認
- 「検索する文字列」に「4月」と入力
- 「置換後の文字列」に「5月」と入力
- STEP
「値の更新:5月」ダイアログボックスが表示される
シート名が間違っている場合、置換した際に「値の更新」ダイアログボックスが表示されます。
他のエクセルファイルやエクセルシートの参照先を置換によって変更する際、置換するシート名が間違っているときに「値の更新」ダイアログボックスが表示されます。
「値の更新」ダイアログボックスが表示されたら、まずはシート名を確認してみましょう。
よくあるのが、シート名に意図せず半角スペースが入っているケースです。
他のPCで作成したファイルを参照している場合など、ネットワークの関係で「値を更新」のダイアログボックスが表示される場合もあります。
同じエクセルファイル内でシートの参照先を置換したい場合は、
- シート名が間違っていないか
- シート名の前後に半角スペースなどが挿入されていないか
- シート名の全角半角(「4月」と「4月」など)が合っているか
に気を付けましょう。
改行の解除が置換できない!
エクセルの置換の活用方法のひとつとして、スペースを「改行コードCtrl+J」に置換することでセルの値を途中で改行させる方法があります。
≫エクセルの置換『改行』をするためのコードは?で解説していますのでご覧ください。
このコードは複数セルを一度に改行する・改行を解除する際にとても便利なのですが、置換を繰り返すうちに改行の解除ができなくなってしまうことがあります。
コードが見えないため、気付かないうちに複数個コードを入力していることなどが原因として考えられます。
「改行コードCtrl+J」を置換で解除できなくなった場合は、「検索と置換」からではなく「セルの書式設定」を使って解除しましょう。
「セルの書式設定」を使ってセル内改行を解除する方法は次のとおりです。
- STEP
「折り返して全体を表示する」のチェックを入れて外す
- 右クリック→「セルの書式設定」もしくはCtrl+1で「セルの書式設定」を呼び出す
- 「配置」タブ→「文字の制御」内の「折り返して全体を表示する」のチェックを入れる
- 「折り返して全体を表示する」のチェックを外す
- 「OK」をクリック
- STEP
改行が解除された
「検索と置換」ではなく「セルの書式設定」から改行を解除することができました。
ただし、セルの書式設定で「折り返して全体を表示する」を解除しても、セル内の「改行コードCtrl+J」は削除されずに残っています。
そのため、セルを編集した際などに再び改行される可能性がありますのでご注意ください。
エクセルで置換ができない!のQ&A
Q
エクセルで特定の数字を置き換えるにはどうすればいいの?
A
ショートカットキーCtrl+Hで「検索と置換」ダイアログボックスを呼び出し、「検索する文字列」に置き換える前の数字を、「置換後の文字列」に置き換える後の数字を入力します。
オプションを開き、「セル内容が完全に同一であるものを検索する」にチェックを入れることで、特定の数字以外が検索される(例えば、14を検索したい際に314も検索されてしまう)ことを防げます。
Q
保護されたシートの解除方法は?
A
「校閲」タブ→「シート保護の解除」でカンタンに解除することができます。
詳しい操作方法は≫エクセルのシートを保護したり解除する方法を徹底解説!をご覧ください。
エクセルで置換ができない!もこれで解決!
エクセルで置換がうまくできない原因はいくつかありました。
さまざまな原因がありましたが、どれも分かってしまえば簡単でしたね。
最後に、置換がうまくできない場合の主な原因・対処法のおさらいです。
- 大文字・小文字や半角・全角が異なっている場合はオプションのチェックを外す
- 置換する条件に書式の設定が追加されている場合は書式検索のクリアを押す
- フィルターで隠れているセルは置換できないのでフィルターを解除する
- 「セルの書式設定」の「ユーザー定義」が使われているかどうか確認する
焦らずに原因を確認して、置換を上手に活用してください。
エクセルの置換についてより詳しく知りたい場合は≫【エクセルの置換】使い方を基本から応用まで解説!の記事を活用してください!