目次
Microsoft Excelでは、複数のテキストや数値の検索と置換を行うのが一般的です。 検索と置換コマンドを使用したり、さまざまな関数や数式を適用したり、ユーザー定義のツールを作成して目的を果たすこともできます。 この記事では、複数の値を検索して置換するためのすべての可能で迅速なテクニックについて、簡単な例と適切な解説を使用して知ることができます。
練習用ワークブックをダウンロードする
この記事の作成に使用したExcelワークブックをダウンロードすることができます。
複数の値の検索と置換.xlsxExcelで複数の値を検索して置換するための6つの簡単な方法
1.Excelで複数の値を検索・置換するツールを使用する
Excelの場合。 検索と置換 は、値を置き換える必要がある場合に最も便利なツールです。 このツールはさまざまな目的で使用できます。 次のサブセクションで、さまざまな条件に対してこのツールがどのように機能するかを見てみましょう。
i. テキスト値の検索と置換
下の表では、いくつかのテキストが横たわっています。 B列 を置き換えることを想定しています。 '2020' をもって '2021' をすべてのテキストで見ることができます。
📌 ステップス
➤ プレス CTRL+H は、その 検索と置換 のダイアログボックスが表示されます。
➤タイプ '2020' において を探す ボックスを使用します。
➤ である。 に置き換えてください。 ボックスで、次のように入力します。 '2021' .
➤ クリックしてください。 すべて交換 ボタンをクリックします。
下の写真のように、以前は2020年だったテキストが、頭に2021年と表示されているものがすべて見つかります。
ii. ワイルドキャラクターでの検索と置換
さて、次の文章の冒頭にはさまざまな数値が並んでいますが、いずれも特定の書式を持っています。 '20XX' ここで行うのは、この数値フォーマットのワイルドカード検索で、最後の2桁は、次のように置き換えます。 '21' クエスチョンマークを2つ使用しなければならない (??) の最後の2桁をワイルドカード文字として使用します。 検索と置換 ツールを使用します。
📌 ステップス
➤ プレス CTRL+H をもう一度開いてください。 検索と置換 ダイアログボックスを表示します。
➤ である。 を探す ボックスで、次のように入力します。 '20?? '.
➤ 値を入力する '2021' において に置き換えてください。 ボックスを使用します。
➤ プレス すべて交換 で終了です。
すぐに以下のような出力が表示されます。
iii. 数式の検索と置換
次の表は、連続した5日間の売上データです。 セルC11 のように、売上金額の合計が表示されていますが、その平均を求めるとします。 この場合、AVERAGE関数で数式を上書きする必要はありません。 検索と置換 のツールを使えば、より簡単に数式を置き換えることができます。
📌 ステップス
➤ 開いてください。 検索と置換 のダイアログボックスが表示されます。
➤ である。 を探す ボックスで、次のように入力します。 '=SUM' .
➤タイプ '=AVERAGE' において に置き換えてください。 ボックスを使用します。
➤ プレス 次を探す を最初にクリックし、その後 交換 ボタンをクリックします。
出力において セルC11 をクリックすると、新しい計算結果が一度に得られます。
iv. セル形式の検索と置換
また、セルの書式を変更するには 検索と置換 次の表では、特定の色を持つ行がいくつかあります。 その色を別の色、たとえば緑に置き換えてみましょう。
📌 ステップス
➤ 開いてください。 検索と置換 のダイアログボックスが最初に表示されます。
➤ 目の前で を探す ボックスをクリックします。 フォーマット オプションを使って、表の中のランダムなセルに使われている色を選択します。
➤ 第2の フォーマット タブをクリックし、古い色と置き換えたい別の色を選択します。
➤ プレス すべて交換する。
下のスクリーンショットでは、テーブルの特定の行が新しい色で表示されるようになりました。
続きを読む Excelでワイルドカードを使用して値を検索および置換する方法
2.Excelで複数の値を検索して置換するREPLACE関数を挿入する
を使いたくない場合は 検索と置換 を使用することができます。 REPLACE機能 この関数は、古いテキストデータを新しいものに置き換える、新しい列またはセル範囲に適用する必要があります。 この処理では、古いテキストデータも保持できます。
次の図では、2つのカラムが存在し、そのうちの1つのカラムが 新規テキスト ヘッダには変更されたテキストが表示されます。
最初の出力では セルC5 で必要な計算式を作成します。 リプレース 関数になります。
=REPLACE(B5,1,4,2021)
を押した後 入力 を使用し フィルハンドル をクリックして残りのセルをオートフィルすると、新しいテキスト値がすぐに表示されます。 ここでは、値 '2021' をもって '2022' をすべてのテキストに適用します。
3.ネストしたSUBSTITUTE式を適用して複数の値を検索・置換する
SUBSTITUTE関数 は、テキスト文字列の既存のテキストを新しいテキストに置き換えます。 サブスティテュート 関数で、複数の値を置き換えることができます。
次の写真では B列 右の表は、新しい値に置き換えなければならない値を表しています。
最初の出力では セルC5 となり、関係式は次のようになります。
=substitute(substitute(b5:b10、e5、f5)、e6、f6)、e7、f7)
を押してください。 入力 と入力すると、新しいテキストの値を一度に配列で取得できます。 この式では、テキストを入力する際に サブスティテュート の下にある3つの異なる値を置き換える必要があったため、3回この関数を実行しました。 探す ヘッダイン E列。
🔎 フォーミュラの仕組みは?
- 最も内側にある サブスティテュート 関数が値を置き換えます。 '2018' をもって '2019' .
- 第2回 サブスティテュート 関数が探すのは '2020' で置き換えてください。 '2021' .
- 外 サブスティテュート 関数検索 '2022' で代用する。 '2023' .
類似の読み物。
- エクセルで特殊文字を置換する方法(6つの方法)
- エクセルで複数の文字を代用する(6つの方法)
4.XLOOKUP関数を使ってExcelで複数の値を検索・置換する
もし、あなたが Excel 365 ユーザーであれば XLOOKUP機能 . XLOOKUP 関数は,範囲や配列にマッチする項目を検索し,対応する項目を2番目の範囲や配列に返します。
次のデータセットでは,いくつかのテキスト値が 旧テキスト 右側の 2 番目の表は,検索されるデータと,同時に置換されるデータを表します。 この関数が与えられた値を見つけることができなければ,古いテキストは以前と同じように 新規テキスト の欄があります。
ということで、必要な計算式は XLOOKUP 関数の最初の出力で セルC5 であるべきです。
=xlookup($b5,$e$5:$e$10,$f$5:$f$10,$b5)
を押した後 入力 と入力し、列全体をオートフィルすると、すぐに次のような出力が表示されます。
5.IFNAとVLOOKUP関数を組み合わせて、複数の値を検索して代入する。
では、別の計算式で XLOOKUP 関数で、この式はすべてのバージョンの Excel で利用可能です。 イフナ と ブイルック の機能はこちら。
があります。 ブイルック 関数は,表の左端の列の値を探し,指定した列から同じ行の値を返します. ブイルック 関数は,ルックアップ値が見つからなかった場合のメッセージを持ちません。 #該当なし のエラーが発生します。 その問題を解決するために イフナ 関数を使用して、エラーメッセージをカスタマイズして定義することができます。
ということで、両方を組み込んだ必要な計算式 イフナ と ブイルック 関数が出力されます。 セルC5 になります。
=ifna(vlookup($b5,$e$5:$f$10,2,false)),b5)
を押した後 入力 で残りのセルを埋めていく。 C列 を実行すると、下図のように新しいテキストデータがすべて取得されます。
6.複数の値を検索・置換するUDFを作成するためのVBAコードの組み込み
最後の章では、その応用として ブイビーエー コードを用いて、ユーザー定義関数を作成することができます。 以下のデータセットでは、テキスト値 B列 置換される値と新しい値は,右側の表に並んでいる。
では、以下の手順でユーザー定義ツールや関数を作ってみましょう。
📌 ステップ1.
➤ マウスを右クリックします。 シート の名前を先に入力します。
➤ オプションを選択する 'コードを見る' . A ブイビーエー のウィンドウが表示されます。
➤そこに以下のコードを貼り付けます。
Option Explicit Sub FindnReplaceMultipleValues() Dim Rng As Range Dim OldText As Range Dim ReplaceData As Range On Error Resume Next Set OldText = Application.InputBox("Select Old Text Range:", "Find And Replace Multiple Values", Application.Selection.Address, Type:=8) Err.Clear If Not OldText Is Nothing Then Set ReplaceData = Application.InputBox("Replace What And With:", "Find", "Replace") Err.Clear If OldText Is Nothing Then Set ReplaceText = Application.InputBox(Application.Address, Type:8, "Find And")And Replace Multiple Values", Type:=8) Err.Clear If Not ReplaceData Is Nothing Then Application.ScreenUpdating = False For Each Rng In ReplaceData.Columns(1).Cells OldText.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value Next Application.ScreenUpdating = True End If End Sub
➤ プレス F5 をクリックすると、以下のスクリーンショットのようなダイアログボックスが表示されます。
➤ 修正する古いテキストを選択し、nextを押します。 よっしゃー .
📌 ステップ2.
2つ目のダイアログボックスが表示されるので、テーブルの範囲全体を選択します。 (D5:E7) 写真右側に横たわっている
➤ プレス よっしゃー .
以下のスクリーンショットのように、新しいテキストと変更されたテキストが B列 の下に テキスト ヘッダを表示します。
結びの言葉
私は、上記のすべてのこれらの方法は、今あなたが効果的に複数のテキストデータを置き換える必要があるときにあなたのExcelスプレッドシートでそれらを適用するのに役立つことを願っています。 あなたが何か質問やフィードバックがある場合は、コメント欄で私に知らせてください。 または、このウェブサイト上のExcel関数に関連する当社の他の記事もチェックアウトすることができます。