概要
「コードの末尾3桁はいらない」
「末尾の『円』や『様』だけ削除したい」
「チェック digit(最後の1桁)を除いた本体だけ欲しい」
こういう「末尾の n 文字を削除して、それ以外を取り出したい」ときに使えるのが
LEFT 関数を使った “末尾 n 文字削除” パターンです。
実際には「削除」するのではなく、
「文字列の左側から “末尾 n 文字を除いた分だけ” を取り出す」と考えます。
基本の考え方
末尾 n 文字を削除したい、ということは
「全体の文字数 - n 文字」だけを LEFT で取り出す
ということです。
ここで使うのが LEN 関数(文字数を数える)+ LEFT 関数 の組み合わせです。
基本形はこうなります。
=LEFT(文字列, LEN(文字列)-n)
この式は、
- LEN(文字列) で全体の文字数を数える
- そこから n を引いて「残したい文字数」を求める
- 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 など“余分な尻尾”を落として本体だけ取り出す」処理は、ほぼすべてこのパターンでさばけるようになります。
