楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

【エクセル】置換できない理由はなに?原因と対処法を徹底解説!

9 min 1,411 views
エクセル初心者

エクセル初心者

エクセルの置換がうまくできないんだけど、どうしたらいい?
置換なら一度に文字を直せるはずなのに…

置換がうまくできない原因はいくつかあるんだよ。
ケース別の対処法を見てみよう!

Dr.オフィス

Dr.オフィス

今回はエクセルの置換がうまくできない場合の原因と対処法について解説します。

よくある原因と、それ以外の特殊なケースについても対処法を解説しています。

この記事を読むことで、置換できない状態が解消されてスッキリできますよ。

置換がうまくできない場合の主な原因・対処法
  1. 大文字・小文字や半角・全角が異なっている場合はオプションのチェックを外す
  2. 置換する条件に書式の設定が追加されている場合は書式検索のクリアを押す
  3. フィルターで隠れているセルは置換できないのでフィルターを解除する
  4. 「セルの書式設定」の「ユーザー定義」が使われているかどうか確認する

MOSエクセルエキスパートの資格を持つ私が、置換がうまくできない場合の対処法を解説するよ!

Dr.オフィス

Dr.オフィス

置換がうまくできないと不安になりますが、原因はそれほど難しくはありません。原因さえ分かればとても簡単に対処できます。

エクセルの置換についてより詳しく書かれた記事≫【エクセルの置換】使い方を基本から応用まで解説!も併せてご覧ください。

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

エクセルで置換できない!よくある原因と対処法!

エクセルを使っていて置換ができない場合のよくある原因をまとめてみました。

例えば『:』と『;』、『渡邊』と『渡邉』、『一(漢数字のイチ)』と『―(記号のハイフン)』など、似ている記号や漢字が混在している場合も、すべてを一度に置換することはできないので気を付けよう!

Dr.オフィス

Dr.オフィス

大文字・小文字や半角・全角が異なっている

「検索と置換」ダイアログボックスにはオプションがあり、検索・置換する条件を選ぶことができます。

初期設定では

  • 大文字と小文字を区別する
  • 半角と全角を区別する

このチェックは外れています。

ですが、何らかの操作でチェックが付いてしまった場合は、大文字・小文字や半角・全角が異なっていると置換することができなくなってしまいます。

具体的な手順で、「置換できない!」を見てみましょう。

  1. STEP

    検索する文字列に小文字を入力

    置換する文字を小文字に設定
    置換する文字を小文字に設定
    1. 「検索する文字列」に小文字を入力
    2. 「オプション」をクリック
  2. STEP

    「大文字と小文字を区別する」にチェックが入っているため、大文字は置換されない

    大文字と小文字を区別するにチェックが入っている
    大文字と小文字を区別するにチェックが入っている
    1. 「大文字と小文字を区別する」にチェックが入っている
    2. この状態で置換しても、大文字である「ABC」は置換されない

この場合で大文字と小文字の両方を置換したい場合は、「大文字と小文字を区別する」のチェックを外します。

スペース(空白)を置換して削除したい場合は、一目では半角スペースなのか全角スペースなのか分かりにくいので、「半角と全角を区別する」チェックが外れていることを確認しましょう。

スペース(空白)の置換がうまくいかないケースについては、こちら≫空白が置換できない!で詳しく解説します。

置換する対象が値ではなく数式になっている

置換する対象が数字の場合も注意が必要です。

こちらも具体的な手順で「置換できない!」を見てみましょう。

  1. STEP

    「検索する文字列」に15と入力

    15と入力
    15と入力

    セルA1に「15」、セルA2には「=10+5」と入力されています。

    この状態で、「検索する文字列」に「15」と入力します。置換後の文字列は任意でかまいません。

  2. STEP

    数式が入力されたセルは置換されない

    数式は置換されない
    数式は置換されない

    この状態で置換すると、15と入力されたセルのみ置換されます。

このように、「15」という数字を他の数字に置換したい場合、セルに直接「15」と入力されていれば問題ありませんが、「=10+5」と入力されている場合は置換することができません。

その場合は少し面倒ですが、「答え(値)が15になる数式」を検索して、ひとつひとつ手作業で数式を修正することとなります。

「答え(値)が15になる数式」を検索する手順を見てみましょう。

  1. STEP

    検索対象を「値」にする

    数式を検索する方法
    数式を検索する方法
    1. 「検索と置換」ダイアログボックスから「検索」タブを開く
    2. 検索対象を「値」にする
    3. 「すべて検索」をクリック
  2. STEP

    値が「15」になるセルがすべて検索された

    値が15のセルが検索された
    値が15のセルが検索された

    数式かどうかに関わらず、値が15になるセルがすべて検索されました。

    あとは手作業で修正します。

≫特定の文字やワイルドカードで探す方法について詳しく解説していますのでご参照ください。

「セルの書式設定」の「ユーザー定義」が使われている

セルの書式設定の「ユーザー定義」で表示されている場合も置換することができません。

具体的な手順で、「置換できない!」を見てみましょう。

  1. STEP

    ユーザー定義の設定を確認

    ユーザー定義を使っている場合
    ユーザー定義を使っている場合
    1. セルA2を右クリック→「セルの書式設定」もしくはCtrl1で「セルの書式設定」を呼び出す
    2. 表示形式→ユーザー定義で「00″個”」と入力されていることを確認
  2. STEP

    ユーザー定義により「個」が表示されている場合は置換されない

    ユーザー定義だと置換されない
    ユーザー定義だと置換されない

    ユーザー定義により「個」が表示されている場合は、「15個」と検索しても置換されません。

「15個」と入力されている場合も、「15」と入力し、書式設定の「ユーザー定義」で「個」を表示しても見た目は同じです。

しかしながら置換した結果が異なってしまいます。

その場合は、置換する対象が値ではなく数式になっている場合と同様、「検索と置換」ダイアログボックスの「検索」より、検索オプションの「検索対象」を「値」にして検索し、手作業で修正します。

なお、シート名やセルに意図せずスペースが入ってしまっている場合も、置換がうまくいかないことがあります。書式設定のユーザー定義が使用されているかどうかと併せて確認してください。

特に、他のファイルやウェブサイトからコピーアンドペーストで文字を入力した場合、半角スペースが文字の前後に追加されていることがありますので気を付けましょう。

置換する条件に書式の設定が追加されている

置換する条件に書式が追加されている場合も注意が必要です。

検索する値が合致していることにプラスして、セルの書式も合致していなければ置換することができないためです。

置換できないケースを確認してみましょう。

書式条件があると検索値が合致していても置換できない
書式条件があると検索値が合致していても置換できない
  1. 「検索する文字列」に15と入力
  2. 書式セットに「赤文字・黄色塗りつぶし」が登録されていることを確認
  3. ①②両方に合致しているA2セルのみが置換される

「検索する文字列」と「書式セット」の両方が入力されている場合は、両方の条件を満たしている場合のみ置換されます。

意図せず書式検索の条件が付いてしまった場合は、「書式検索のクリア」を押すことで、セルの書式に関わらず値を置換できるようになります。

以下の手順で書式検索をクリアしましょう。

  1. STEP

    「書式検索のクリア」をクリック

    書式をクリアする
    書式をクリアする
    1. 「書式」脇の下向き三角形▼をクリック
    2. 「書式検索のクリア」をクリック
  2. STEP

    書式がクリアされた

    書式がクリアされた
    書式がクリアされた

    書式がクリアされ、セルの書式に関わらず値を置換できるようになりました。

フィルターやテーブルを使っている

置換したい値がフィルターで隠れている場合は、隠れている値を置換することができません。

フィルターの使用により置換できないケースを見てみましょう。

  1. STEP

    B列の2~4行に同じ数字が入力されていることを確認

    B列に同じ値が入力されている
    B列に同じ値が入力されている

    B列の2~4行にはいずれも「15」が入力されています。

  2. STEP

    フィルターをかけて置換すると置換件数が少ない

    フィルターをかけた状態で置換
    フィルターをかけた状態で置換
    1. フィルターをかけて3行目の「みかん」の行を非表示にする
    2. 「検索する文字列」を15として「すべて置換」をクリック
    3. 3件中2件しか置換されないことを確認
  3. STEP

    フィルターを解除し、隠れていたセルは置換されないことを確認

    フィルターで隠れているセルは置換できない
    フィルターで隠れているセルは置換できない

    フィルターで隠れていた「みかん」の行の値は置換されませんでした。

このように、フィルターで隠れているセルは検索の対象とならず、検索する文字と合致していても置換されません。

フィルターの設定をしている場合は、一度フィルターを解除してから置換することをおすすめします。

≫フィルター機能の設定と解除方法について解説していますのでご参照ください。

また、エクセルの「テーブル機能」と使用している場合、書式検索つきの置換がうまくいかないことがありますので、あわせて知っておくと良いでしょう。

ワイルドカードの使い方が異なる

あいまい検索ができるワイルドカードを置換に活用する場合、?と*の使い方を間違うと置換がうまくできません。

≫ワイルドカードを使って置換する方法について解説していますのでご参照ください。

間違った範囲選択やワークシートで操作(置換)している

選択した範囲内で検索・置換される
選択した範囲内で検索・置換される

置換する際に、複数のセルを選択している場合は、選択された範囲内でしか置換をすることができません。

シート全体の値を置換したい場合は、範囲選択を解除してから置換しましょう。

また、置換する範囲は、デフォルトだと「表示されているワークシート」のみが対象となっています。

全シートを置換したい場合は検索対象を指定
全シートを置換したい場合は検索対象を指定

すべてのワークシート(一つのエクセルファイル内)の値を置換したい場合は、オプションの「検索場所」を「ブック」に変更しましょう。

置換できない特殊なケースの対処法

続いて、特殊な原因で置換できない場合の対処方法をケース別にご紹介します。

よくある原因では該当するものがなかった場合、ぜひご覧ください。

範囲指定内で置換できない!

範囲選択したセルの値だけを置換するつもりが、シート内の該当する値をすべて置換してしまうことがあります。

範囲指定内で置換できないケースを確認してみましょう。

  1. STEP

    範囲指定をした状態で「すべて検索」をクリック

    範囲選択をして置換しても…
    範囲選択をして置換しても…

    セルB8~B13を範囲指定をした状態で「すべて検索」をクリックします。

  2. STEP

    範囲指定が解除されてしまうことを確認

    「すべてを検索」で選択範囲が解除されてしまう
    「すべてを検索」で選択範囲が解除されてしまう

    セルB8~B13の範囲指定が解除されてしまいます。

  3. STEP

    選択範囲内で置換できない

    シート内のすべての値が検索・置換されてしまう
    シート内のすべての値が検索・置換されてしまう
    1. 「すべて検索」をクリックすると範囲指定が解除される
    2. 「すべて置換」をクリックするとシート内すべての値が置換の対象となる

範囲指定内で置換をする場合は、「すべて置換」「置換」を押す前に「すべて検索」をクリックしてしまうと、選択範囲が解除されてしまいます。

選択範囲が解除されていることに気付かずに「すべて置換」を押してしまうと、シート内すべての値を検索・置換してしまいます。

その場合はいったん「検索と置換」ダイアログボックスを閉じCtrlZで操作前の状態に戻してから、再び範囲選択をして置換をしてください。

なお、置換はショートカットキーCtrlHでダイアログボックスを表示させることができます。

空白が置換できない!

空白が置換できない場合、最も多いケースが「半角スペースと全角スペースが混在している」ことです。

スペースを置換する場合は「全角・半角を区別する」のチェックを外す
スペースを置換する場合は「全角・半角を区別する」のチェックを外す

「検索と置換」ダイアログボックスのオプションにある「半角と全角を区別する」のチェックを外してから再度置換してみてください。

また、ウェブサイトからエクセルに文字をコピーアンドペーストすると、「ノーブレーキングスペース」という特殊な空白文字が挿入されている場合があります。

この場合、置換機能を使って空白を置換することはできないので注意が必要です。

その場合は手作業で置換するか、「SUBSTITUTE関数」を使って置換しましょう。

=SUBSTITUTE(置換したいセル番地,CHAR(160),置換する文字列)

この数式で置換することができます。

CHAR(160)とは、ノーブレーキングスペースのことを表しています。

スペースを削除したい場合は、「置換する文字列」に「””」を入力します。

≫SUBSTITUTE関数を使って置換する方法について解説していますのでご参照ください。

「保護されたシートに対してこのコマンドは使用できません」と出て置換できない!

保護がかかっていると置換できない
保護がかかっていると置換できない

置換をしようとしたらこのようなエラーメッセージが出た場合、そのエクセルシートは保護がかかっています。

次の手順でシートの保護を解除しましょう。

シートの保護を解除したのちに置換
シートの保護を解除したのちに置換
  1. 「校閲」タブをクリック
  2. 「シートの保護解除」をクリック

シートの保護を解除したうえで改めて置換しましょう。

≫シートの保護や解除をする方法について解説していますのでご参照ください。

記号が置換できない!

「?」と「*」はあいまいな文字列を検索するための記号(ワイルドカード)です。

これらを置換するにはコツが必要です。

まずは、「?」や「*」がうまく置換されないケースを見てみましょう。

  1. STEP

    「検索する文字列」に「?」を入力

    ?や*はワイルドカードとしてみなされる
    ?や*はワイルドカードとしてみなされる

    セルA2を置換したいと思い、「検索する文字列」に「?」と入力します。

  2. STEP

    「?」のみではなく、すべての値が置換されてしまうことを確認

    文字のすべてが置換されてしまう
    文字のすべてが置換されてしまう

    セルA2以外のすべての値が置換されてしまいました。

「検索する文字列」に「?」や「*」のみを入力した場合、ワイルドカードとみなされ、すべての値が置換されてしまいます。

「?」や「*」そのものを置換したい場合は、「~(チルダ)」を使いましょう。

?や*そのものを検索する場合はチルダを活用
?や*そのものを検索する場合はチルダを活用
  1. 「検索する文字列」の?の前に「~(チルダ)」を入力
  2. 「?」が入力されていたセルA2のみ置換された
チルダの入力方法
チルダの入力方法

「~」は、半角英数の状態でShiftを押すことで入力できます。

この「~(チルダ)」の使い方は、置換の場合だけではなくCOUNTIF関数やFIND関数の場合にも使えるので、覚えておくと便利だよ!

Dr.オフィス

Dr.オフィス

数式が置換できない!

数式を置換しようとした際に「値を更新」のダイアログボックスが開いて置換できないことがあります。

よくある「数式が置換できない!」を見てみましょう。

  1. STEP

    置換により数式内のシート名を「4月」から「5月」に変更する

    シート名を置換で変更
    シート名を置換で変更
    1. セルB2に「=’4月’!A1」と入力されていることを確認
    2. 「検索する文字列」に「4月」と入力
    3. 「置換後の文字列」に「5月」と入力
  2. STEP

    「値の更新:5月」ダイアログボックスが表示される

    シートのありかを訊かれる
    シートのありかを訊かれる

    シート名が間違っている場合、置換した際に「値の更新」ダイアログボックスが表示されます。

他のエクセルファイルやエクセルシートの参照先を置換によって変更する際、置換するシート名が間違っているときに「値の更新」ダイアログボックスが表示されます。

「値の更新」ダイアログボックスが表示されたら、まずはシート名を確認してみましょう。

置換した文字とシート名が異なっていると数式の参照ができない
置換した文字とシート名が異なっていると数式の参照ができない

よくあるのが、シート名に意図せず半角スペースが入っているケースです。

他のPCで作成したファイルを参照している場合など、ネットワークの関係で「値を更新」のダイアログボックス表示される場合もあります。

同じエクセルファイル内でシートの参照先を置換したい場合は、

  • シート名が間違っていないか
  • シート名の前後に半角スペースなどが挿入されていないか
  • シート名の全角半角(「4月」と「4月」など)が合っているか

に気を付けましょう。

改行の解除が置換できない!

エクセルの置換の活用方法のひとつとして、スペースを「改行コードCtrlJ」に置換することでセルの値を途中で改行させる方法があります。

≫エクセルの置換『改行』をするためのコードは?で解説していますのでご覧ください。

改行コードが置換できない
改行コードが置換できない

このコードは複数セルを一度に改行する・改行を解除する際にとても便利なのですが、置換を繰り返すうちに改行の解除ができなくなってしまうことがあります。

コードが見えないため、気付かないうちに複数個コードを入力していることなどが原因として考えられます。

「改行コードCtrlJ」を置換で解除できなくなった場合は、「検索と置換」からではなく「セルの書式設定」を使って解除しましょう。

「セルの書式設定」を使ってセル内改行を解除する方法は次のとおりです。

  1. STEP

    「折り返して全体を表示する」のチェックを入れて外す

    セルの書式設定から改行を解除する
    セルの書式設定から改行を解除する
    1. 右クリック→「セルの書式設定」もしくはCtrl1で「セルの書式設定」を呼び出す
    2. 「配置」タブ→「文字の制御」内の「折り返して全体を表示する」のチェックを入れる
    3. 「折り返して全体を表示する」のチェックを外す
    4. 「OK」をクリック
  2. STEP

    改行が解除された

    セル内改行が解除された
    セル内改行が解除された

    「検索と置換」ではなく「セルの書式設定」から改行を解除することができました。

ただし、セルの書式設定で「折り返して全体を表示する」を解除しても、セル内の「改行コードCtrlJ」は削除されずに残っています。

そのため、セルを編集した際などに再び改行される可能性がありますのでご注意ください。

エクセルで置換ができない!のQ&A

Q

エクセルで特定の数字を置き換えるにはどうすればいいの?

A

ショートカットキーCtrlHで「検索と置換」ダイアログボックスを呼び出し、「検索する文字列」に置き換える前の数字を、「置換後の文字列」に置き換える後の数字を入力します。
オプションを開き、「セル内容が完全に同一であるものを検索する」にチェックを入れることで、特定の数字以外が検索される(例えば、14を検索したい際に314も検索されてしまう)ことを防げます。

Q

保護されたシートの解除方法は?

A

「校閲」タブ→「シート保護の解除」でカンタンに解除することができます。
詳しい操作方法は≫エクセルのシートを保護したり解除する方法を徹底解説!をご覧ください。

エクセルで置換ができない!もこれで解決!

エクセルで置換がうまくできない原因はいくつかありました。

さまざまな原因がありましたが、どれも分かってしまえば簡単でしたね。

最後に、置換がうまくできない場合の主な原因・対処法のおさらいです。

おさらい
  • 大文字・小文字や半角・全角が異なっている場合はオプションのチェックを外す
  • 置換する条件に書式の設定が追加されている場合は書式検索のクリアを押す
  • フィルターで隠れているセルは置換できないのでフィルターを解除する
  • 「セルの書式設定」の「ユーザー定義」が使われているかどうか確認する

焦らずに原因を確認して、置換を上手に活用してください。

エクセルの置換についてより詳しく知りたい場合は≫【エクセルの置換】使い方を基本から応用まで解説!の記事を活用してください!

関連記事