-
Home »
-
エクセル関数一覧表 »
-
Excel関数の目次 »
-
文字列を取り出す関数の使い方(LEFT,RIGHT,MID)
- エクセルで文字列のデータを操作する時に使用するワークシート関数です。
文字を取出す関数(LEFT関数,RIGHT関数,MID関数,LEFTB関数,RIGHTB関数,MIDB関数)について説明しています。
スポンサードリンク
(追記) (追記ここまで)
(追記) (追記ここまで)
更新:2025年2月7日;作成:2018年2月21日
文字列の左から指定した文字数の文字を取り出します topへ
レフト
=LEFT(文字列,[文字数])
文字数を省略すると1を指定したことになります(1の時は省略できる)。
- 問題1:下記の住所の左から「鹿児島県」と「kagoshimaken」を取り出しなさい
- 問題1の解答例
- 取り出したい文字列「鹿児島県」は B3 セルの文字列の左から4文字ですので、数式は =LEFT(B3,4) とします。
4行目は「kagoshimaken」は B4 セルの文字列の左から 12文字ですので、数式は =LEFT(B4,12) とします。
- 3行目は漢字(全角文字、2バイト文字)、4行目はアルファベット(半角文字、1バイト文字)が入力されています。
取り出されているのは全角文字と半角文字の違いには関係なく(バイト数には関係なく)、文字数で文字が取り出されています。
ここが、LEFTB と異なるところです。
文字列の左から指定したバイト数の文字を取り出します topへ
レフト ビー
=LEFTB(文字列,[バイト数])
バイト数を省略すると1を指定したことになります(1の時は省略できる)。
- 問題2:LEFTB関数を使って、下記の住所から 鹿児島県 と kagoshimaken を取り出しなさい 。
- 問題2の解答例 1
- 文字列 鹿児島県 は全角文字(2バイト)が4つなので 2(バイト)×ばつ4(文字) で 8(バイト) になります。
よって、C3セルの数式は =LEFTB(B3,8) としました。
文字列 kagoshimaken は半角文字(1バイト)が12(文字) なので 12バイトになります。
よって、C4セルの数式は =LEFTB(B4,12) としました。
- 問題2の解答例 2
- 文字列のバイト数がわからない場合は、文字列のバイト数を計算する LENB関数を使います。
取り出したい文字列「鹿児島県」のバイト数は、LENB関数を使って計算で求めることができます。
C3セルの数式は =LEFTB(B3,LENB("鹿児島県")) とします。
C4セルの数式は =LEFTB(B4,LENB("kagoshimaken")) とします。
- 問題3:RIGHT関数を使って、下表のように講師名を抜き出しなさい
- 問題3の解答例 1
- B3セルの講師名は右端から4文字ですので、 C3セルの数式は =RIGHT(B3,4) としました。
B4セルの講師名は右端から空白を含めて10文字ですので、 C4セルの数式は =RIGHT(B4,10) としました。
- 問題3の解答例 2
- 左端からの取り出す文字の前までの文字数が分かれば、全体の文字数から差し引くことで右端からの文字数を計算することができます。
C3セルの数式は =RIGHT(B3,LEN(B3)-LEN("エクセルの講師:")) とすることができます。
C4セルの数式は =RIGHT(B4,LEN(B4)-LEN("VBAの講師:")) とすることができます。
文字列の右から、指定したバイト数の文字を取り出します topへ
ライト ビー
=RIGHTB(文字列,[バイト数])
バイト数を省略すると1を指定したことになります(1の時は省略できる)。
- 問題3:RIGHTB関数を使って、下表のように講師名抜き出しなさい
- 問題3の解答例
- B3セルの講師名は右端から全角文字で4文字ですので、バイト数は 4(文字)×ばつ2(バイト) で 8バイトになります。
C3セルの数式は =RIGHTB(B3,8) としました。
B4セルの講師名は右端から半角文字で 10文字ですので、バイト数は 10(文字)×ばつ1(バイト) で 10バイトになります。
C4セルの数式は =RIGHTB(B4,10) としました。
- 問題4:RIGHTB関数を使って、下表から講師名を抜き出しなさい。ただし、姓と名の間の空白は半角文字なのか全角文字なのかわかりません。
- 問題4の解答例
- バイト数がカウントできる「エクセルの講師:」のバイト数を文字列全体のバイト数から差し引くことで、講師名のバイト数を計算することができます。
よって、C3セルの数式は =RIGHTB(B3,LENB(B3)-LENB("エクセルの講師:")) としました。
C4セルの数式は =RIGHTB(B4,LENB(B4)-LENB("VBAの講師:")) としました。
(追記) (追記ここまで)
- 問題5:MID関数を使って、下表のように市の名前を抜き出しなさい
- 問題5の解答例
- 「指宿市」は「鹿児島県指宿市十町」の5文字目から3文字ですので、C3セルの数式は =MID(B3,5,3) となります。
「Ibusuki-shi」は「Juccho,Ibusuki-shi,Kagoshima」の8文字目から11文字ですので、C4セルの数式は =MID(B4,8,11) となります。
- 問題6:下記の住所からそれぞれ都道府県名を取り除いてください。
-
B
C
2
住所
都道府県名を削除
3
鹿児島県鹿児島市鴨池新町10番1号
鹿児島市鴨池新町10番1号
4
大阪府大阪市中央区大手前2丁目
大阪市中央区大手前2丁目
5
東京都新宿区西新宿2-8-1
新宿区西新宿2-8-1
6
宮崎県宮崎市橘通東二丁目10番1号
宮崎市橘通東二丁目10番1号
- 問題6の解答例
- 都:東京都 道:北海道 府:大阪府、京都府 県:4文字(鹿児島県、和歌山県、神奈川県)と3文字(宮崎県、熊本県など)の2パターン
- これらのことから4文字目に"県"が含まれるものと3文字で表示されるものの2パターンがあることになりますので
4文字目が「県」である時は5文字目以降を、それ以外は4文字目以降を取り出せばよいことになります。
- C3セルの数式は MID(B3,5,LEN(B3)-4) と住所の文字数を数えて都道府県の文字数4(または3)を引いて取り出す文字数を計算しています。
=IF(MID(B3,4,1)="県",MID(B3,5,LEN(B3)-4),MID(B3,4,LEN(B3)-3))
- MID関数では取り出す文字数が指定した文字列の数より多くてもエラーとなりませんので、
MID(B3,5,LEN(B3)) としても同じ結果が得られます。
よって、C4セルでは =IF(MID(B3,4,1)="県",MID(B3,5,LEN(B3)),MID(B3,4,LEN(B3))) としています。
住所の文字数が100を超えることがないなら、=IF(MID(B3,4,1)="県",MID(B3,5,100),MID(B3,4,100)) とすることもできます。
-
- 問題5:MIDB関数を使って、下表のように市の名前を抜き出しなさい
- 問題5の解答例
- 「指宿市」は「鹿児島県指宿市十町」の「鹿児島県」が8バイトですので、9バイト目から全角3文字(6バイト)ですので、C3セルの数式は =MIDB(B3,9,6) となります。
「Juccho,Ibusuki-shi,Kagoshima」はすべて半角文字ですので「Ibusuki-shi」は文字数がそのままバイト数に置き換えることができますので、
8バイト目から11バイトです、C4セルの数式は =MIDB(B4,8,11) となります。
スポンサードリンク
(追記) (追記ここまで)
(追記) (追記ここまで)
Home »
エクセル関数一覧表 »
LEFT関数、RIGHT関数、MID関数で文字を取り出す
PageViewCounter
Counter
Since2006/2/27