目次
ワークシートで構造化されていないテキストデータを扱う場合、関連情報を取得するために解析が必要になることがよくあります。 この記事では、テキスト文字列の左側または右側から任意の数の文字を削除するいくつかの簡単な方法について説明します。
Excelで左から文字を削除する方法
文字列から先頭の文字を削除することは、Excelで最も一般的な作業の1つであり、3つの異なる数式で実現することができます。
Excelの最初の文字を削除する
文字列から最初の文字を削除するには、REPLACE関数か、RIGHT関数とLEN関数を組み合わせて使用することができます。
ここでは、単純に最初の位置から1文字を取り出し、空文字列("")に置き換えています。
RIGHT( 列 , LEN( 列 ) - 1)この式では、LEN関数で文字列の全長を計算し、そこから1文字を引いています。 その差はRIGHTに出されるので、文字列の末尾からその数だけ文字を抽出します。
例えば、セルA2から最初の文字を削除する場合、数式は次のようになります。
=replace(a2, 1, 1, "")
=right(a2, len(a2) - 1)
左から文字を削除
文字列の左側から先頭の文字を削除するには、REPLACEまたはRIGHTとLEN関数も使用しますが、削除する文字数を毎回指定します。
REPLACE( 列 , 1, num_chars , "")または
RIGHT( 列 , LEN( 列 ) - num_chars )例えば、削除するには 先頭2文字 をA2の文字列から計算すると、式は次のようになります。
=replace(a2, 1, 2, "")
=right(a2, len(a2) - 2)
削除するには 上三 文字 となり、このような式になる。
=replace(a2, 1, 3, "")
=right(a2, len(a2) - 3)
下のスクリーンショットは、REPLACE式を実行したものです。 RIGHT LENを使用した場合も、結果はまったく同じになります。
最初のn文字を削除するカスタム機能
ワークシートでVBAを使うことに抵抗がなければ、文字列の先頭から文字を削除するユーザー定義の関数を作成できます。 RemoveFirstChars この関数のコードは次のように単純である。
Function RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End Function一度コードをワークブックに挿入すれば(詳しい説明はこちら)、このコンパクトで直感的な数式を使って、指定したセルから最初のn文字を削除することができます。
RemoveFirstChars(文字列、num_chars)例えば、削除する場合 第一 文字をA2の文字列から取り出すと、B2の数式は
=RemoveFirstChars(A2, 1)
ストリップへ 前二者 の文字は、A3から、B3の式になります。
=RemoveFirstChars(A4, 2)
削除する場合 上三篇 の文字は、A4からB4の計算式になります。
=RemoveFirstChars(A4、3)
エクセルでカスタム関数を使うの詳細はこちら
右から文字を削除する方法
文字列の右側から文字を削除するには、ネイティブ関数を使用するか、独自の関数を作成することも可能です。
Excelの最後の文字を削除する
セルの最後の文字を削除する場合、一般的な数式は次のようになります。
左側( 列 , LEN( 列 ) - 1)この式では、文字列の総長から1を引き、その差をLEFT関数に渡して、文字列の先頭からその数だけ文字を抜き出すようにしています。
例えば、セルA2から最後の文字を取り除くには、B2の数式は次のようになります。
=left(a2, len(a2) - 1)
右から文字を削除
セルの末尾から所定の文字数を削り取るには、一般的な数式を使用します。
左側( 列 , LEN( 列 ) - num_chars )ロジックは上の式と同じで、以下はその例です。
取り外すには 最後の3文字 には3を使用します。 num_chars :
=left(a2, len(a2) - 3)
を削除するには 最後の5文字 のために5を供給する。 num_chars :
=left(a2, len(a2) - 5)
Excelの最後のn文字を削除するカスタム関数
右から任意の文字数を削除する独自の関数を持ちたい場合は、このVBAコードをワークブックに追加してください。
Function RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End Functionこの関数の名前は RemoveLastChars であり、その構文はほとんど説明する必要がない。
RemoveLastChars(文字列、num_chars)実地テストをするために、まずは さいしゅうもじ をA2で表示します。
=RemoveLastChars(A2, 1)
さらに 最後の2文字 をA3の文字列の右側から読み取ります。
=RemoveLastChars(A3, 2)
を削除するには 最後の3文字 をセルA4から読み取ると、数式が表示されます。
=RemoveLastChars(A4, 3)
以下のスクリーンショットにあるように、このカスタム関数は見事に動作しています。
右と左から一度に文字を削除する方法
文字列の両端の文字を消去する必要がある場合、上記の2つの数式を連続して実行するか、MID関数の助けを借りて作業を最適化することができます。
MID(ミッド) 列 , 左 _ チャールズ + 1, LEN( 列 ) - ( 左 _ チャールズ + せいかい _ チャールズ )どこで
- チャーズレフト - 左から削除する文字数。
- chars_right - 右から削除する文字数。
のような文字列からユーザ名を抽出したいとします。 mailto:[email protected] そのためには、冒頭のテキストの一部を削除する必要があります ( mailto: - 7文字)、端から( gmail.com - 11文字)。
上記の数値を計算式に当てはめる。
=mid(a2, 7+1, len(a2) - (7+10))
...そして、その結果はあなたを待たせることはないでしょう。
ここで実際に何が起こっているかを理解するために、MID関数の構文を思い出してみましょう。MID関数は、元の文字列の途中からある大きさの部分文字列を取り出すために使われます。
MID(テキスト、start_num、num_chars)があります。 テキスト 引数は何の疑問も抱かせない。それはソースの文字列(この例ではA2)である。
最初に抽出する文字の位置を取得するために( 開始番号 ) の場合、左から剥がす文字数に1を足した数(7+1)です。
何文字返すかを決めるために( num_chars ) の場合、削除した文字の合計 (7 + 11) を計算し、その合計を文字列全体の長さから引きます: LEN(A2) - (7+10)).
結果を数値で取得する
上記のどの数式を使っても、返される値が数字だけの場合でも、出力は常にテキストになります。 を返すには、次のようにします。 せいすう このテクニックは、結果をさらに計算したい場合に特に有効です。
セルA2:A6から最初の文字を削除し、その値を合計するとします。 驚くことに、SUM式はゼロを返します。 なぜでしょうか? 明らかに、数値ではなく文字列を加算しているからです。 以下のいずれかの操作を行うと、問題は解決します。
=value(replace(a2, 1, 1, ""))
=right(a2, len(a2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
フラッシュフィルで先頭または末尾の文字を削除する
Excel 2013以降のバージョンでは、もう一つ簡単に先頭と末尾の文字を削除する方法として、フラッシュフィルという機能があります。
- 元のデータがある最初のセルの隣のセルに、元の文字列から最初または最後の文字を除いた結果を入力し、Enter を押します。
- 次のセルに期待される値を入力し始めます。 入力されたデータのパターンをExcelが感知すると、残りのセルも同じパターンに従って、最初と最後の文字を除いたデータのプレビューが表示されます。
- Enterキーを押してプレビューを受け入れるだけです。
Ultimate Suiteで位置を指定して文字を削除
従来、当社のUltimate Suiteのユーザーは、一握りの様々な数式を覚えることなく、数回のクリックでこのタスクを処理することができます。
文字列から最初または最後の n 文字を削除するには、次のようにします。
- について エイブルビットのデータ タブで テキスト グループをクリックします。 削除 > ポジションで削除 .
例えば、1文字目を削除する場合は、以下のように設定します。
以上、エクセルで部分文字列を左または右から削除する方法でした。 読んでいただきありがとうございました!来週のブログでお会いできるのを楽しみにしています。
ダウンロード可能なもの
先頭または末尾の文字を削除する - 例 (.xlsm ファイル)
Ultimate Suite - 体験版 (.exeファイル)