Step 23:LEFT/RIGHT/MID(文字列抽出)

✂️ Step 23: LEFT/RIGHT/MID(文字列抽出)

長い文字列から必要な部分だけを取り出す関数をマスター!

📋 このステップで学ぶこと

  • LEFT関数(左から抽出)
  • RIGHT関数(右から抽出)
  • MID関数(途中から抽出)
  • 文字数の数え方
  • 郵便番号分割の実例
  • 電話番号・メールアドレスの加工

🎯 1. 文字列抽出とは

🔑 文字列抽出の意味

文字列抽出とは、長い文字列の中から必要な部分だけを取り出すことです。例えば「100-0001」という郵便番号から「100」だけを取り出したり、「田中太郎」から「田中」だけを取り出したりできます。

📝 文字列抽出の例(※横スクロールできます)

【例: 郵便番号の分割】 A1: 100-0001 「100」だけ取り出したい → LEFT関数 「0001」だけ取り出したい → RIGHT関数 これを自動的にやってくれるのが文字列抽出関数です
💡 日常生活での例

長いロープから必要な長さだけ切り取るイメージです。左から3m、右から2m、真ん中の5mだけ、というように必要な部分を切り取ります。

📊 3つの抽出関数のイメージ

東京都渋谷区
← LEFT関数(左から取り出す)
東京都
=LEFT(A1, 3)
左から3文字
RIGHT関数(右から取り出す) →
渋谷区
=RIGHT(A1, 3)
右から3文字
↕ MID関数(途中から取り出す)
京都
=MID(A1, 2, 2)
2文字目から2文字

📝 2. LEFT関数(左から抽出)

LEFT関数は、文字列の左側(最初)から指定した文字数だけを取り出す関数です。

📋 基本構文(※横スクロールできます)

【LEFT関数の構文】 =LEFT(文字列, 文字数) 文字列: 抽出元のセルまたは文字列 文字数: 左から何文字取り出すか

📊 LEFT関数の動作イメージ

元の文字列
1
0
0
0
0
0
1
100-0001
=LEFT(A1, 3)
左から3文字を取り出す
抽出結果
100

具体例

📮 郵便番号の前半を取り出す(※横スクロールできます)

【例1: 郵便番号の前半を取り出す】 A列 B列 C列 1 郵便番号 前半部 計算式 2 100-0001 100 =LEFT(A2,3) 3 530-0047 530 =LEFT(A3,3) B2の数式: =LEFT(A2,3) → 左から3文字「100」を取り出す

👤 氏名から姓を取り出す(※横スクロールできます)

【例2: 氏名から姓を取り出す】 A列 B列 C列 1 氏名 姓 計算式 2 田中太郎 田中 =LEFT(A2,2) 3 佐藤花子 佐藤 =LEFT(A3,2) B2の数式: =LEFT(A2,2) → 左から2文字「田中」を取り出す

🏷️ 商品コードの分類を取り出す(※横スクロールできます)

【例3: 商品コードの分類を取り出す】 A列 B列 C列 1 商品コード 分類 計算式 2 A-12345 A =LEFT(A2,1) 3 B-67890 B =LEFT(A3,1) B2の数式: =LEFT(A2,1) → 左から1文字「A」を取り出す
🎯 LEFT関数のポイント
  • 左側(最初)から取り出す
  • 文字数は1から数える
  • 全角も半角も1文字は1としてカウント
  • 記号やスペースも1文字

📝 3. RIGHT関数(右から抽出)

RIGHT関数は、文字列の右側(最後)から指定した文字数だけを取り出す関数です。

📋 基本構文(※横スクロールできます)

【RIGHT関数の構文】 =RIGHT(文字列, 文字数) 文字列: 抽出元のセルまたは文字列 文字数: 右から何文字取り出すか

📊 RIGHT関数の動作イメージ

元の文字列
1
0
0
0
0
0
1
100-0001
=RIGHT(A1, 4)
右から4文字を取り出す
抽出結果
0001

具体例

📮 郵便番号の後半を取り出す(※横スクロールできます)

【例1: 郵便番号の後半を取り出す】 A列 B列 C列 1 郵便番号 後半部 計算式 2 100-0001 0001 =RIGHT(A2,4) 3 530-0047 0047 =RIGHT(A3,4) B2の数式: =RIGHT(A2,4) → 右から4文字「0001」を取り出す

📁 ファイル拡張子を取り出す(※横スクロールできます)

【例2: ファイル拡張子を取り出す】 A列 B列 C列 1 ファイル名 拡張子 計算式 2 report.pdf pdf =RIGHT(A2,3) 3 data.csv csv =RIGHT(A3,3) B2の数式: =RIGHT(A2,3) → 右から3文字「pdf」を取り出す

📅 西暦の下2桁を取り出す(※横スクロールできます)

【例3: 西暦の下2桁を取り出す】 A列 B列 C列 1 西暦 下2桁 計算式 2 2025 25 =RIGHT(A2,2) 3 2024 24 =RIGHT(A3,2) B2の数式: =RIGHT(A2,2) → 右から2文字「25」を取り出す

📝 4. MID関数(途中から抽出)

MID関数は、文字列の途中から指定した文字数だけを取り出す関数です。

📋 基本構文(※横スクロールできます)

【MID関数の構文】 =MID(文字列, 開始位置, 文字数) 文字列: 抽出元のセルまたは文字列 開始位置: 何文字目から取り出すか(1から数える) 文字数: 何文字取り出すか

📊 MID関数の動作イメージ

元の文字列(位置番号付き)
2
0
2
5
2025年度
=MID(A1, 3, 2)
3文字目から2文字を取り出す
抽出結果
25

具体例

📅 生年月日から月を取り出す(※横スクロールできます)

【例1: 生年月日から月を取り出す】 A列 B列 C列 1 生年月日 月 計算式 2 19900115 01 =MID(A2,5,2) 3 20001225 12 =MID(A3,5,2) B2の数式: =MID(A2,5,2) → 5文字目から2文字「01」を取り出す 説明: 1990/01/15 1234/56/78 ← 位置番号 5文字目は「0」、そこから2文字で「01」

📞 電話番号の市外局番を取り出す(※横スクロールできます)

【例2: 電話番号の市外局番を取り出す】 A列 B列 C列 1 電話番号 市外局番 計算式 2 03-1234-5678 03 =MID(A2,1,2) 3 06-9876-5432 06 =MID(A3,1,2) B2の数式: =MID(A2,1,2) → 1文字目から2文字「03」を取り出す ※ LEFT(A2,2)と同じ結果になります
🔑 MID関数の注意点

開始位置は1から数えることに注意!プログラミングでは0から数えることが多いですが、Excelでは1から数えます。

🔢 5. 実用例: 郵便番号の分割

📊 郵便番号分割の完全ガイド

元の郵便番号
100-0001
前半部分
=LEFT(A1, 3)
100
左から3文字
後半部分
=RIGHT(A1, 4)
0001
右から4文字
💡 別の方法: MID関数を使う
前半: =MID(A1, 1, 3) → 100
後半: =MID(A1, 5, 4) → 0001
※ ハイフン「-」は4文字目なので、後半は5文字目から開始

📮 郵便番号分割のまとめ(※横スクロールできます)

【郵便番号 100-0001 を分割】 A列 B列 C列 1 郵便番号 前半 後半 2 100-0001 100 0001 B2: =LEFT(A2,3) → 左から3文字 C2: =RIGHT(A2,4) → 右から4文字 または B2: =MID(A2,1,3) → 1文字目から3文字 C2: =MID(A2,5,4) → 5文字目から4文字(ハイフンの次)

📱 6. 実用例: 電話番号の分割

📞 電話番号を3つに分割(※横スクロールできます)

【電話番号 03-1234-5678 を分割】 A列 B列 C列 D列 1 電話番号 市外局番 市内局番 加入者番号 2 03-1234-5678 03 1234 5678 B2: =LEFT(A2,2) → 03 C2: =MID(A2,4,4) → 1234(4文字目から4文字) D2: =RIGHT(A2,4) → 5678 説明: 03-1234-5678 12 3456 7890123 ↑4文字目から4文字 = 1234
⚠️ 電話番号のフォーマットに注意

市外局番の桁数は地域によって異なります(03は2桁、045は3桁など)。実務では、FIND関数やSUBSTITUTE関数と組み合わせて、より柔軟に対応する必要があります。

🔤 7. LEN関数(文字数を数える)

抽出する際に、文字数を数えることが必要な場面があります。LEN関数で文字数を調べられます。

📋 LEN関数の基本構文(※横スクロールできます)

【LEN関数の構文】 =LEN(文字列) 文字列の文字数を返す

📏 文字数を数える例(※横スクロールできます)

【例: 文字数を数える】 A列 B列 C列 1 文字列 文字数 計算式 2 こんにちは 5 =LEN(A2) 3 Hello 5 =LEN(A3) 4 100-0001 8 =LEN(A4) 全角も半角も1文字として数える

LEN関数との組み合わせ

✂️ 最後の1文字を除いて取り出す(※横スクロールできます)

【応用: 最後の1文字を除いて全部取り出す】 A列 B列 C列 1 文字列 最後以外 計算式 2 りんご。 りんご =LEFT(A2,LEN(A2)-1) 3 みかん! みかん =LEFT(A3,LEN(A3)-1) B2の数式: =LEFT(A2,LEN(A2)-1) → 文字数-1文字だけ左から取り出す 計算の流れ: 1. LEN(A2) → 4文字 2. LEN(A2)-1 → 3文字 3. LEFT(A2,3) → 左から3文字 = りんご

⚠️ 8. よくあるエラーと注意点

⚠️ よくある間違いと正しい使い方

❌ エラー1: 文字数が足りない
元の文字: ABC(3文字)
=LEFT("ABC", 5)
→ 5文字取ろうとしても3文字しかない
✓ 結果: ABC(エラーにはならず、全部返す)
❌ エラー2: MIDの開始位置を間違える
元の文字: ABCDE
=MID("ABCDE", 0, 2)
→ 0文字目は存在しない(1から数える)
=MID("ABCDE", 1, 2)
✓ 正しい(1文字目から2文字 = AB)
❌ エラー3: 全角・半角を意識していない
全角も半角も1文字としてカウント
=LEN("ABC") → 3
=LEN("あいう") → 3
=LEN("A1あ") → 3
❌ エラー4: スペースも1文字
元の文字: “田中 太郎”(真ん中にスペース)
=LEFT("田中 太郎", 2)
→ “田中”(スペースは含まれない)
=LEFT("田中 太郎", 3)
→ “田中 “(スペースも1文字として含まれる)

📝 練習問題

練習 1
初級

LEFT関数で郵便番号の前半3文字を取り出してください

A列 B列 1 郵便番号 前半 2 100-0001 ? 3 530-0047 ?

解答:

B2に =LEFT(A2,3)

B2をB3にコピー

結果:

  • B2: 100
  • B3: 530
練習 2
初級

RIGHT関数で郵便番号の後半4文字を取り出してください

A列 B列 1 郵便番号 後半 2 100-0001 ? 3 530-0047 ?

解答:

B2に =RIGHT(A2,4)

B2をB3にコピー

結果:

  • B2: 0001
  • B3: 0047
練習 3
中級

MID関数で生年月日(YYYYMMDD形式)から月を取り出してください

A列 B列 1 生年月日 月 2 19900115 ? 3 20001225 ?

ヒント: YYYYMMDDの5文字目から2文字

解答:

B2に =MID(A2,5,2)

B2をB3にコピー

結果:

  • B2: 01
  • B3: 12

説明: 19900115 → 1234567890 → 5文字目は「0」で、そこから2文字で「01」

練習 4
中級

氏名から姓(左2文字)と名(右2文字)を取り出してください

A列 B列 C列 1 氏名 姓 名 2 田中太郎 ? ? 3 佐藤花子 ? ?

解答:

B2に =LEFT(A2,2)

C2に =RIGHT(A2,2)

B2とC2をB3、C3にコピー

結果:

  • B2: 田中、C2: 太郎
  • B3: 佐藤、C3: 花子
練習 5
上級

商品コード「A-12345」から、分類(A)と番号(12345)を取り出してください

A列 B列 C列 1 商品コード 分類 番号 2 A-12345 ? ? 3 B-67890 ? ?

解答:

B2に =LEFT(A2,1)

C2に =RIGHT(A2,5)

B2とC2をB3、C3にコピー

結果:

  • B2: A、C2: 12345
  • B3: B、C3: 67890

別解: C2に =MID(A2,3,5)(3文字目から5文字)

練習 6
上級

LEN関数とLEFT関数を組み合わせて、最後の1文字を除いた文字列を作成してください

A列 B列 1 元の文字 最後以外 2 りんご。 ? 3 みかん! ?

解答:

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

B2をB3にコピー

結果:

  • B2: りんご
  • B3: みかん

説明:

  • LEN(A2) → 4文字
  • LEN(A2)-1 → 3文字
  • LEFT(A2,3) → 左から3文字 = りんご

📝 Step 23 のまとめ

✅ このステップで学んだこと

← LEFT関数
文字列の左側(最初)から指定文字数を取り出す
RIGHT関数 →
文字列の右側(最後)から指定文字数を取り出す
↕ MID関数
文字列の途中から指定文字数を取り出す(開始位置と文字数を指定)
📏 LEN関数
文字列の文字数を数える(全角・半角とも1文字)
💡 重要なルール
文字数は1から数える(0ではない)
🏢 実務活用
郵便番号、電話番号、商品コードの分割など
🎯 次のステップの予告

文字列抽出をマスターしました!次のSTEP 24では、「TRIM/SUBSTITUTE関数(文字列整形)」を学びます。余分な空白を削除したり、文字を置き換えたりする関数です。

❓ よくある質問

Q1: LEFT関数とMID関数の違いは何ですか?
LEFT関数は必ず左端から取り出しますが、MID関数は任意の位置から取り出せます。例えば、LEFT(A1,3)とMID(A1,1,3)は同じ結果になります。ただし、LEFT関数の方がシンプルで分かりやすいので、左端から取り出す場合はLEFTを使うのが一般的です。
Q2: 取り出したい文字数が元の文字列より多い場合はどうなりますか?
エラーにはならず、元の文字列がそのまま返されます。例: LEFT(“ABC”,10)は「ABC」を返します。これは安全な動作なので、文字数が不確定な場合でも安心して使えます。
Q3: 全角文字と半角文字で文字数の数え方は違いますか?
いいえ、同じです。LEFT、RIGHT、MID、LEN関数では、全角も半角も1文字としてカウントします。「A」も「あ」も「1」も、すべて1文字です。バイト数で数えたい場合は、LEFTB、RIGHTB、MIDB、LENBという別の関数があります。
Q4: スペースも1文字としてカウントされますか?
はい、スペースも1文字です。「田中 太郎」は5文字です(田、中、スペース、太、郎)。改行も1文字としてカウントされます。空白を削除したい場合は、TRIM関数(次のステップ)を使います。
Q5: MID関数の開始位置は0から数えますか、1から数えますか?
1から数えます。MID(“ABCDE”,1,2)は「AB」を返します。プログラミング言語では0から数えることが多いですが、Excelでは1から数えます。これは間違えやすいポイントなので注意してください。
Q6: 数値にも使えますか?
はい、使えます。数値は自動的に文字列として扱われます。例: LEFT(12345,3)は「123」を返します(文字列として)。ただし、計算に使う場合はVALUE関数で数値に変換する必要があります。
Q7: セル参照と直接入力、どちらを使うべきですか?
通常はセル参照を使います。例: LEFT(A2,3)のようにセルを参照すれば、データが変わっても自動的に更新されます。直接入力(LEFT(“100-0001”,3))は、テストや説明のときだけ使います。
📝

学習メモ

Excel・Googleスプレッドシート完全マスター - Step 23

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE