目次
この記事では、数式と内蔵機能を使用して、Excelのセルからテキストの一部をすばやく削除する方法について見ています。
このチュートリアルでは、Excelで文字を削除する最も一般的なケースを紹介します。 複数のセルから特定のテキストを削除したい、文字列の最初または最後の文字を削除したい、特定の文字の出現箇所のみを削除したいなど、どのようなタスクであっても、複数の解決策が見つかるはずです。
Excelで特定の文字を削除する方法
Excelのセルから特定の文字を消すには、「検索と置換」ツールと「数式」の2つの方法があります。
検索と置換を使用して複数のセルから文字を削除する
文字を削除することは、何もない状態に置き換えることに他ならないことを念頭に置き、Excelの検索と置換の機能を利用して、この作業を行うことができます。
- 特定の文字を削除したいセル範囲を選択します。
- Ctrl + H で開きます。 検索と置換 ダイアログを表示します。
- での を探す ボックスに、文字を入力します。
- を残す。 交換 をもって ボックスを空にする。
- クリック すべて交換 .
例として、セルA2~A6から#記号を削除する方法を紹介します。
その結果、選択されたすべてのセルからハッシュ記号が一度に削除され、ポップアップダイアログで置換の数が通知されます。
ヒントと注意点
- この方法は、ソースデータ内の文字を直接削除するものです。 もし、結果が予想と異なる場合は、Ctrl + Zで 変更を取り消す で、元のデータを取り戻してください。
- アルファベットの大文字と小文字を区別して扱う場合は オプション を拡大する。 検索と置換 ダイアログにチェックを入れてください。 マッチケース ぎゃるがてん ケースセンシティブ を検索してください。
数式を使用して文字列から特定の文字を削除する
文字列の任意の位置から特定の文字を削除するには、この一般的なSUBSTITUTE式を使用します。
SUBSTITUTE( 列 , 焦がす , "")この場合、式はこのような形になります。
=substitute(a2, "#", "")
基本的に、この式が行うことは、A2の文字列を処理し、各ハッシュ記号(#)を空文字列("")に置き換えることである。
B2に上記の数式を入力し、B6までコピーすると、このような結果になります。
SUBSTITUTEは常に テキスト文字列 たとえセルB2やB3のように数字だけの結果であってもです(テキスト値によくあるデフォルトの左揃えに注意してください)。
もし、その結果を 番号 のように、上記の数式をVALUE関数で囲みます。
=value(substitute(a2, "#", ""))
あるいは、0を足す、1を掛けるなど、元の値を変えない何らかの計算を行うことも可能です。
=substitute(a2, "#", "")*1
複数の文字を一度に削除する
1つの数式で複数の文字を削除するには、SUBSTITUTE関数を1つずつ入れ子にしてください。
たとえば、ハッシュ記号(#)、フォワードスラッシュ(/)、バックスラッシュ(♪)を消すには、次のような計算式になります。
=substitute(substitute(a2, "#","), "/", ""), "\", "")
ヒントと注意点
- SUBSTITUTE関数は ケースセンシティブ ということを念頭に置いて、文字に取り組んでください。
- もし、結果を 価値観 を使うことで、元の文字列に依存しない 貼り付け機能 - 値 オプションを使用すると、数式をその値に置き換えることができます。
- がある場合。 百花繚乱 を削除するには、LAMBDA定義のカスタムRemoveChars関数を使用するとより便利です。
Excelのセルから特定のテキストを削除する方法
1文字の削除に用いた2つの方法は、連続した文字も同様に扱うことができる。
複数のセルからテキストを削除する
選択した範囲の各セルから特定のテキストを削除するには、Ctrl + H で表示します。 検索と置換 ダイアログを表示し
- に不要なテキストを入力します。 を探す ボックスを使用します。
- を残す。 交換 をもって ボックスの空白。
をクリックします。 すべて交換 ボタンで一括置換します。
数式を使用してセルから特定のテキストを削除する
文字列の一部を削除するには、やはりSUBSTITUTE関数を基本形として使用します。
SUBSTITUTE( セル , テキスト , "")例えば、セルA2から「mailto:」という部分文字列を削除する場合、数式は次のようになります。
=SUBSTITUTE(A2, "mailto:", "")
この数式はB2に移動し、必要な数だけ行をまたいで下にドラッグします。
特定のキャラクターのN番目のインスタンスを削除する方法
を削除したい場合 某 発生 は,SUBSTITUTE関数の最後のオプション引数で定義する。 以下の一般的な式では インスタンス番号 は、指定された文字のどのインスタンスが空文字列に置き換えられるかを決定します。
SUBSTITUTE( 列 , 焦がす , "", インスタンス番号 )例えば、こんな感じです。
A2の1stスラッシュを消すには、計算式は次のようになります。
=substitute(a2, "/", "", 1)
2つ目のスラッシュ文字を取り除くには、以下の式になります。
=substitute(a2, "/", "", 2)
最初の文字を削除する方法
文字列の左側から最初の文字を削除するには、次のいずれかの数式を使用します。 どちらも同じことを行いますが、方法は異なります。
REPLACE( セル , 1, 1, "")この数式を人間の言葉に置き換えると、「指定されたセルに1文字( num_chars ) を1番目の位置 (start_num) から取り除き、空文字列 ("") に置き換えます。
RIGHT( セル , LEN( セル ) - 1)ここでは、LEN関数で計算した文字列の全長から1文字を引き、その差をRIGHTに渡して、末尾からその文字数だけ抜き出すようにしています。
例えば、A2から1文字を削除する場合、数式は次のようになる。
=replace(a2, 1, 1, "")
=right(a2, len(a2) - 1)
下のスクリーンショットはREPLACE式ですが、RIGHT LEN式でも全く同じ結果になります。
を削除するには n文字 を文字列の先頭から削除するには、Excelで左から文字を削除する方法を参照してください。
最後の文字を削除する方法
文字列の最後から1文字を取り除くには、次のような式になります。
左側( セル , LEN( セル ) - 1)ロジックは、前の例のRIGHT LEN式と同様です。
セル全体の長さから1を引いて、その差をLEFT関数に渡すと、文字列の先頭からその数だけ文字が引けるようになります。
例えば、A2から最後の文字を削除するには、次の式を使用します。
=left(a2, len(a2) - 1)
を削除するには n文字 を文字列の末尾から削除するには、Excelで右から文字を削除する方法を参照してください。
特定の文字以降のテキストを削除する
指定した文字以降をすべて削除する場合、一般的な計算式は次のようになります。
左側( 列 , SEARCH( 焦がす , 列 ) -1)SEARCH関数が指定した文字の位置を計算し、それをLEFT関数に渡すと、対応する文字数が先頭から出力される。 区切り文字そのものを出力しないように、SEARCHの結果から1を引いているのだ。
例えば、コロン(:)以降のテキストを削除する場合、B2の式は次のようになります。
=left(a2, search(":", a2) -1)
その他の計算式の例については、特定の文字の前後にあるテキストを削除するを参照してください。
Excelでテキストの前後にあるスペースを削除する方法
Microsoft Wordなどのテキストプロセッサでは、読み手の目を楽しませるために、テキストの前に意図的に空白を入れることがあります。 表計算プログラムでは、先頭や末尾の空白が気づかないうちに忍び込み、多くの問題を引き起こすことがあります。 幸い、Microsoft Excelには、TRIMという特殊関数があり、余計なスペースを削除してくれるのです。
セルから余分なスペースを取り除く数式は、次のように簡単です。
=TRIM(A2)
ここで、A2はあなたの元のテキスト文字列です。
下の画像にあるように、テキスト前、テキスト後、単語・サブストリング間のスペースは、スペース1文字を除いてすべて削除されます。
この簡単な計算式でうまくいかない場合は、ワークシートに改行されていないスペースや印字されない文字がある可能性が高いです。
取り除くには、変換してください。 ノンブルスペース を、SUBSTITUTEの助けを借りて、通常のスペースに変換します。
substitute(a2, char(160), " ")
ここで、160は改行されないスペース文字( )のコード番号である。
さらに、CLEAN機能を使えば 非表示文字 :
clean(substitute(a2, char(160), " "))
TRIM関数に上記の構造を入れれば、テキストの前後のスペースだけでなく、改行されないスペースや印刷されない文字も削除する完璧な数式ができあがります。
=trim(clean(substitute(a2, char(160), " ")))
詳しくは、「Excelでスペースを削除する方法」をご覧ください。
フラッシュフィルでExcelの文字を削除
シンプルなシナリオでは、Excelのフラッシュフィルが、提供されたパターンに基づいて自動的に文字やテキストの一部を削除してくれます。
例えば、一つのセルに名前とメールアドレスがカンマで区切られているとします。 カンマ以降をすべて(カンマ自体も含めて)削除したい場合、次の手順を実行します。
- ソースデータの右側に空白の列を挿入します。
- 新しく追加された列の最初のセルに、保持したい値(この例では名前)を入力します。
- 次のセルに値を入力し始めると、Excelがパターンを判断すると同時に、同じパターンに従って下のセルに入力されるデータのプレビューが表示されます。
- Enterキーを押すと、プレビューが受理されます。
完了!
注:Excelがデータのパターンを認識できない場合、さらにいくつかのセルを手作業で埋めて、より多くの例を示してください。 また、Excelでフラッシュフィルが有効になっていることを確認してください。 それでもうまくいかない場合は、他の方法に頼らざるを得ません。
Excelの文字やテキストを削除する特殊ツール
このセクションでは、Excelのセルからテキストを削除するための独自のソリューションを紹介します。 複雑な課題を処理する簡単な方法を見つけることが好きな方は、Ultimate Suiteに含まれる便利なツールをお楽しみいただけます。
について エイブルビットのデータ タブで テキスト グループには、Excelのセルから文字を削除するための3つのオプションがあります。
- 特定の文字と部分文字列
- ある位置のキャラクター
- 重複する文字
を削除するには 特定文字列 を選択した細胞から、このように進めていきます。
- クリック 削除 > 文字の削除 .
- お客様のニーズに合わせてお選びください。
- のチェックを入れるかどうか。 大文字・小文字を区別する ボックスを使用します。
- ヒット 削除 .
以下は、最も典型的なシナリオをカバーするいくつかの例です。
特定文字の削除
複数のセルから一度に特定の文字を削除するには、以下の操作を行います。 カスタム文字の削除 .
例として、A2:A4の範囲から大文字のA、Bをすべて削除する。
定義済み文字セットの削除
特定の文字列を削除するには キャラクタセットの削除 を選択し、以下のオプションのいずれかを選択します。
- 非印刷文字 - は,7ビットASCIIセット(コード値0〜31)の最初の32文字(タブ文字,改行文字など)のいずれかを削除するものである。
- テキスト文字 - は、テキストを削除し、数字を保持します。
- 数字 - は、英数字の文字列から数字を削除します。
- 記号・句読点 - は、ピリオド、クエスチョンマーク、感嘆符、カンマなどの特殊記号や句読点を削除します。
テキストの一部を削除する
文字列の一部を削除するには 部分文字列の削除 オプションを使用します。
例えば、Gmailアドレスからユーザー名を抽出する場合、「@gmail.com」の部分文字列を削除しています。
以上、Excelのセルからテキストや文字を削除する方法でした。 読んでいただきありがとうございました!来週のブログでお会いできるのを楽しみにしています。
ダウンロード可能なもの
Excelで文字を削除する - 例 (.xlsm ファイル)
Ultimate Suite - 評価版 (.exeファイル)