Excel関数 逆引き集 | 末尾n文字削除 → LEFT

Excel
スポンサーリンク

概要

「コードの末尾3桁はいらない」
「末尾の『円』や『様』だけ削除したい」
「チェック digit(最後の1桁)を除いた本体だけ欲しい」

こういう「末尾の n 文字を削除して、それ以外を取り出したい」ときに使えるのが
LEFT 関数を使った “末尾 n 文字削除” パターンです。

実際には「削除」するのではなく、
「文字列の左側から “末尾 n 文字を除いた分だけ” を取り出す」と考えます。


基本の考え方

末尾 n 文字を削除したい、ということは

「全体の文字数 - n 文字」だけを LEFT で取り出す

ということです。

ここで使うのが LEN 関数(文字数を数える)+ LEFT 関数 の組み合わせです。

基本形はこうなります。

=LEFT(文字列, LEN(文字列)-n)

この式は、

  1. LEN(文字列) で全体の文字数を数える
  2. そこから n を引いて「残したい文字数」を求める
  3. LEFT で左からその文字数だけ取り出す

という流れになっています。


末尾 n 文字削除の定番テンプレート

具体例:末尾 3 文字を削除

A1 に元の文字列が入っていて、末尾 3 文字を削除したいとします。

その場合の式は次のとおりです。

=LEFT(A1, LEN(A1)-3)

A1 が「ABC12345」の場合

全体の文字数(LEN)=8
8−3=5 文字を LEFT で取り出す → 「ABC12」

A1 が「山田太郎様」の場合

LEN=5
5−3=2 文字 → 「山田」

この「LEN−3」という考え方さえ覚えておけば、3 を 1 や 4 に変えるだけで応用できます。


実務でよくあるパターン

末尾の「様」や「さん」を削除する

A2 に「山田太郎様」という文字列が入っていて、「様」だけ削除したい場合。

末尾 1 文字削除なので、n=1 です。

=LEFT(A2, LEN(A2)-1)

A2 が「山田太郎様」→ 「山田太郎」
A2 が「鈴木さん」→ 「鈴木」

「敬称だけ削る」ような場面でよく使います。


末尾の「円」を削除する

A2 に「12345円」という文字列が入っていて、「円」を削って「12345」だけ取りたい場合。

これも末尾 1 文字削除です。

=LEFT(A2, LEN(A2)-1)

A2 が「12345円」→ 「12345」

後で数値として使いたい場合は、さらに VALUE 関数で数値化するなどの応用もできます。


コードのチェック digit(末尾1桁)を削除する

A2 に「1234567」のようなコードがあり、
最後の 1 桁がチェック digit(検査用の桁)で、
それ以外の本体だけ欲しい場合。

=LEFT(A2, LEN(A2)-1)

A2 が「1234567」→ 「123456」
A2 が「9876543」→ 「987654」

「末尾 1 桁だけ捨てたい」場合の定番です。


末尾の枝番 3 桁を削除して「親番号」だけ取り出す

A2 に「ABC001」「ABC015」のようなコードがあり、
末尾 3 桁が枝番、先頭の「ABC」だけを取りたい場合。

=LEFT(A2, LEN(A2)-3)

A2 が「ABC001」→ 「ABC」
A2 が「ABC123」→ 「ABC」

枝番だけ別列に分けて集計したいときに便利です。


応用テクニック

「末尾の文字数が変わらない」前提だからこそ LEFT が使える

このパターンは、「削りたい末尾」が常に同じ文字数であることが前提です。

例えば

「必ず『様』1文字」
「必ず数字3桁」
「必ず『円』1文字」

といった場合にはそのまま使えますが、

「『円(税込)』『円(税別)』のように、削る長さが違う」
「末尾のラベルが可変長」

といったケースでは、別途 FIND/SEARCH などと組み合わせて「どこまで残すか」を計算する必要があります。

まずは「末尾の文字数が決まっているケース」から確実に押さえておくのがおすすめです。


RIGHT+LEN との対比で覚える

前回見た「先頭 n 文字削除 → MID」と対になる形で、
「末尾 n 文字削除 → LEFT」という対応で覚えると整理しやすいです。

先頭 n 文字削除(残り全部):

=MID(A1, n+1, LEN(A1)-n)

末尾 n 文字削除(残り全部):

=LEFT(A1, LEN(A1)-n)

この 2 つは非常によくセットで使われます。


例題

問題1

A2 に「ABC12345」という文字列が入っています。
末尾 3 文字「345」を削除して、「ABC12」だけを取り出す式を書いてください。

=LEFT(A2, LEN(A2)-3)

問題2

A2 に「山田太郎様」という文字列が入っています。
末尾の「様」を削除して「山田太郎」だけを取り出す式を書いてください。

=LEFT(A2, LEN(A2)-1)

問題3

A2 に「12345円」という文字列が入っています。
末尾の「円」を削除して「12345」だけを取り出す式を書いてください。

=LEFT(A2, LEN(A2)-1)

問題4

A2 に「ABC001」というコードが入っています。
末尾 3 文字の枝番を削除して、「ABC」だけを取り出す式を書いてください。

=LEFT(A2, LEN(A2)-3)

問題5

A2 に任意の文字列が入っています。
末尾 2 文字を削除して、それ以外すべてを取り出す式を書いてください。

=LEFT(A2, LEN(A2)-2)

末尾 n 文字削除の本質は、たった一つの型に集約されます。

=LEFT(元の文字列, LEN(元の文字列)-n)

これさえ体で覚えてしまえば、「様・円・枝番・チェック digit など“余分な尻尾”を落として本体だけ取り出す」処理は、ほぼすべてこのパターンでさばけるようになります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました