Office 2021 の購入方法やお得なキャンペーン情報

Office 2021 の購入方法やお得なキャンペーン情報、製品を安心して購入できるお店 などをご紹介。

【Office シリーズ】文字列を取り出す関数の使い方 問題5の解答例

2022-12-12 11:00:00 | office2021
問題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) となります。



文字列の文字数を取り出します   

 レン

=LEN(文字列) :文字列の文字数を返します。半角文字と全角文字との区別はされません

 レンビー

=LENB(文字列) :文字列のバイト数を返します。

    一般的には半角文字は1Byte(バイト) :全角文字は2Byteですが、UNICODOでは半角文字も2Byteです。

    ついでに1Byte=8Bit(ビット)です。

半角文字と全角文字が混在しているか否かを判断するには?

=IF(LEN(A1)*2=LENB(A1),"全角文字",IF(LEN(A1)=LENB(A1),"半角文字","混在している"))

とします。




【Office シリーズ】文字列を取り出す関数の使い方 問題6

2022-12-12 10:00:00 | office2021 プロダクトキー
問題6:下記の住所からそれぞれ都道府県名を取り除いてください。



問題6の解答例

都:東京都  道:北海道 府:大阪府、京都府 県:4文字(鹿児島県、和歌山県、神奈川県)と3文字(宮崎県、熊本県など)の2パターン

これらのことから4文字目に"県"が含まれるものと3文字で表示されるものの2パターンがあることになりますので

4文字目が「県」である時は5文字目以降を、それ以外は4文字目以降を取り出せばよいことになります。

"【Office シリーズ】-2021-6-28 389-27"

ここではMID(B3,5,LEN(B3)-4) と住所の文字数を数えて都道府県の文字数4(または3)を引いて取り出す文字数を計算しています。

MID関数では取り出す文字数が指定した文字列の数より多くてもエラーとなりませんので、

MID(B3,5,LEN(B3)) としても同じ結果が得られます。

よって、=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)) とすることもできます。

文字列から、指定した文字位置(バイト数)から指定したバイト数の文字を取り出します   topへ

 ミッド ビー

=MIDB(文字列,開始位置,バイト数)

引数の開始位置もバイト数で指定します。


【Office シリーズ】文字列を取り出す関数の使い方 問題5

2022-12-11 11:00:00 | office2021
文字列から、指定した文字位置から指定した文字数の文字を取り出します   topへ


 ミッド


=MID(文字列,開始位置,文字数)


問題5:MID関数を使って、下表のように市の名前を抜き出しなさい



問題5の解答例

「指宿市」は「鹿児島県指宿市十町」の5文字目から3文字ですので、C3セルの数式は =MID(B3,5,3) となります。

「Ibusuki-shi」は「Juccho,Ibusuki-shi,Kagoshima」の8文字目から11文字ですので、C4セルの数式は =MID(B4,8,11) となります。





【Office シリーズ】文字列を取り出す関数の使い方 問題4

2022-12-11 10:00:00 | office2021
問題4:RIGHTB関数を使って、下表から講師名を抜き出しなさい。ただし、姓と名の間の空白は半角文字なのか全角文字なのかわかりません。



問題4の解答例

バイト数がカウントできる「エクセルの講師:」のバイト数を文字列全体のバイト数から差し引くことで、講師名のバイト数を計算することができます。

よって、C3セルの数式は =RIGHTB(B3,LENB(B3)-LENB("エクセルの講師:")) としました。

C4セルの数式は =RIGHTB(B4,LENB(B4)-LENB(&"VBAの講師:")) としました。



【Office シリーズ】文字列を取り出す関数の使い方 問題3解答例

2022-12-10 12:00:00 | office2021
文字列の右から、指定したバイト数の文字を取り出します   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) としました。



【Office シリーズ】文字列を取り出す関数の使い方 問題3 解答例

2022-12-10 11:00:00 | office2021 プロダクトキー
文字列の右から、指定した文字数の文字を取り出します   topへ

 ライト

=RIGHT(文字列,[文字数])

 文字数を省略すると1を指定したことになります(1の時は省略できる)。

問題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の講師:")) とすることができます。



文字列の左から指定したバイト数の文字を取り出します 問題2の解答例 2

2022-12-10 10:00:00 | office2021
問題2の解答例 2

文字列のバイト数がわからない場合は、文字列のバイト数を計算する LENB関数を使います。

取り出したい文字列「鹿児島県」のバイト数は、LENB関数を使って計算で求めることができます。

C3セルの数式は =LEFTB(B3,LENB("鹿児島県")) とします。

C4セルの数式は =LEFTB(B3,LENB("kagoshimaken")) とします。



関数の挿入ボタンを使う場合は、LEFTB関数の引数ダイアログボックスは下図のようになります。




文字列の右から、指定した文字数の文字を取り出します   topへ

 ライト

=RIGHT(文字列,[文字数])


 文字数を省略すると1を指定したことになります(1の時は省略できる)。


文字列の左から指定したバイト数の文字を取り出します 問題2

2022-12-09 12:00:00 | office2021
文字列の左から指定したバイト数の文字を取り出します   topへ


 レフト ビー

=LEFTB(文字列,[バイト数])

 バイト数を省略すると1を指定したことになります(1の時は省略できる)。

問題2:LEFTB関数を使って、下記の住所から 鹿児島県 と kagoshimaken を取り出しなさい 。



問題2の解答例 1

文字列 鹿児島県 は全角文字(2バイト)が4つなので 2(バイト)×4(文字) で 8(バイト) になります。

よって、C3セルの数式は =LEFTB(B3,8) としました。

文字列 kagoshimaken は半角文字(1バイト)が12(文字) なので 12バイトになります。

よって、C4セルの数式は =LEFTB(B3,12) としました。



関数の引数を使うと下図のようになります。



LEFT関数の引数 文字列に B3セルを指定します。

2022-12-09 11:00:00 | office2021
文字数の欄をクリックしてカーソルを表示します。

名前ボックスの ▽ボタンをクリックして、[その他の関数]をクリックします。(この画像では LEN関数が表示されていますので、LENを選択すればよいのですが、LENが表示されていないケースを想定しています)




関数の挿入ダイアログボックスが表示されます。

関数名で LEN を選択して[OK]ボタンをクリックします。



LEN関数の引数、文字列に "鹿児島県" と入力します。

ここでは [OK]ボタンをクリックしません。


数式バーの LEFT 部分をクリックします。

すると、関数の引数ダイアログボックスが LEFT関数に変わります。

LEFT関数の引数 文字列が B3 、文字数が LEN("鹿児島県" となっているのを確認して、[OK]ボタンをクリックします。




C3セルに数式 =LEFT(B3,LEN("鹿児島県")) が入力できました。




文字列の左から指定した文字数の文字を取り出します

2022-12-09 10:00:00 | office2021
文字列の文字数を取り出します   

 レン

=LEN(文字列) :文字列の文字数を返します。半角文字と全角文字との区別はされません

 レンビー

=LENB(文字列) :文字列のバイト数を返します。

    一般的には半角文字は1Byte(バイト) :全角文字は2Byteですが、UNICODOでは半角文字も2Byteです。

    ついでに1Byte=8Bit(ビット)です。

問題1の解答例 2

取り出したい文字列「鹿児島県」を数えるのではなく、LEN関数を使って文字数を計算で求めることができます。

C3セルの数式は =LEFT(B3,LEN("鹿児島県")) とします。

C4セルは =LEFT(B3,LEN("kagoshimaken")) とします。



関数の挿入ボタンを使う場合は、数式を入力するセルを選択して[fx](関数の挿入)ボタンをクリックします。

関数の挿入ダイアログボックスが表示されます。関数の分類で[すべて表示]を選択して、関数名で「LEFT」を選択します。

[OK]ボタンをクリックします。







【Office シリーズ】文字列を取り出す関数の使い方(LEFT,RIGHT,MID)

2022-12-08 12:00:00 | office2021
文字列の左から指定した文字数の文字を取り出します  

 レフト

=LEFT(文字列,[文字数])

 文字数を省略すると1を指定したことになります(1の時は省略できる)。

問題1:下記の住所の左から「鹿児島県」と「kagoshimaken」を取り出しなさい


問題1の解答例

取り出したい文字列「鹿児島県」は B3 セルの文字列の左から4文字ですので、数式は =LEFT(B3,4) とします。

4行目は「kagoshimaken」は B4 セルの文字列の左から 12文字ですので、数式は =LEFT(B4,12) とします。



関数の引数を使う場合は文字列に元の文字列が入力されているセル B3 を指定します。

文字数には取り出す文字の数 4 を指定します。



3行目は漢字(全角文字、2バイト文字)、4行目はアルファベット(半角文字、1バイト文字)が入力されています。

取り出されているのは全角文字と半角文字の違いには関係なく(バイト数には関係なく)、同じ数の文字、4文字が取り出されています。

ここが、LEFTB と異なるところです。


FIND関数、SEARCH関数で文字列を検索する:Excel関数 問題4の解答例

2022-12-08 11:00:00 | office2021 プロダクトキー
問題4:SEACH関数を使って、B列のサイズをC,D列に書き出しなさい。



問題4の解答例

B列のサイズの区切り文字は *(アスタリスク)が使われています。

このアスタリスクはワイルドカードにも使われている文字なので、特殊な検索が必要になります。

*を検索するには、アスタリスクの前にチルダを付けて ~* とします。数式は SEARCH("~*",B2) とします。



文字列が開始位置から何バイト目にあるかを返します   
 
サーチ ビー

=SEARCHB(検索文字列,対象,開始位置)

  (注) 英字の大文字と小文字を区別できませんが、ワイルドカード文字を使用できます。

SEARCH関数が文字数で文字位置を求めるのに対し、SEARCHB関数はバイト数で求めます。

検索文字を変えて、SEARCH関数とSEARCHB関数とで返る値の違いを下図に示しています。

D2セルの数式は =SEARCH(C2,$B$2) 、E2セルの数式は =SEARCHB(C2,$B$2) としています。




FIND関数、SEARCH関数で文字列を検索する:Excel関数 問題3の解答例

2022-12-08 10:00:00 | office2021
問題3:SEACH関数を使って、B列のサイズ(数値)をC,D列に書き出しなさい。



問題3の解答例

B列のサイズの区切る文字 ×の位置を探すには SEARCH("×",B2) とします。

前の数値は左から ×の前までを取り出せばよいので、=LEFT(B2,SEARCH("×",B2)-1) としました。

後ろの数字は ×の次の位置から最後までを取り出せばよいので、 =MID(B2,SEARCH("×",B2)+1,LEN(B2)) としました。

取り出す文字の数は数えてもよいのですが、文字列と同じ数を指定するのが楽なので、LEN(B2) としています。



なお、この数式で求めた結果は文字列になっています。

数値に直すには =LEFT(B2,SEARCH("×",B2)-1)*1 のように乗算をすると、Excelが数値に変換してくれます。

または、=VALUE(LEFT(B2,SEARCH("×",B2)-1)) のようにVALUE関数を使います。

FIND関数 SEARCH関数 文字列が開始位置から何番目にあるかを返します

2022-12-07 12:00:00 | office2021
文字列を検索するFIND関数とSEACH関数の違い

FIND関数は大文字と小文字の区別します。SEARCH関数は大文字と小文字の区別しません。

下図の3行目のように、FIND関数では検索する文字がすべて大文字のEXCELはExcelとは異なると判定して、検索文字は存在しないとエラーを返します。

一方、SEARCH関数では大文字のEXCELとExcelは同じとみなし、11という値を返しています。

つまり、 Excel という文字を検索するのに、SEARCH関数では EXCELでも ExcelでもOKですが、FIND関数では ExcelはOKですが、EXCELはNGということです。


文字列が開始位置から何番目にあるかを返します   

 サーチ

=SEARCH(検索文字列,対象,開始位置)

  (注) 英字の大文字と小文字を区別できませんが、ワイルドカード文字を使用できます。


FIND関数 SEARCH関数 文字列が開始位置から何バイト目にあるかを返します 

2022-12-07 11:00:00 | Excel2021
文字列が開始位置から何バイト目にあるかを返します   

 ファインド ビー

=FINDB(検索文字列,対象,開始位置)

  (注) 英字の大文字と小文字を区別できる代わりに、ワイルドカード文字を使用することができません。

FIND関数が文字数で文字位置を求めるのに対し、FINDB関数はバイト数で求めます。

検索文字を変えて、FIND関数とFINDB関数とで返る値の違いを下図に示しています。

D2セルの数式は =FIND(C2,$B$2) 、E2セルの数式は =FINDB(C2,$B$2) としています。

E2セルが11となるのは、「用紙サイズ」が2バイト文字なので 5文字*2バイト=10 となり、「A」は11バイト目といった計算になります。

漢字やひらがなは2バイト、半角英数や半角カタカナは1バイトと計算されます。