Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
文字列の関数(1)の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
文字列の関数(1)
エクセルで文字列のデータを操作する時に使用するワークシート関数です。
文字を取出す関数(LEFT関数,RIGHT関数,MID関数,PHONETIC関数)について説明しています。
更新:2025/2/4;作成:2005/9/24
文字列を取出す関数の使い分け方
取出す文字列の位置が決まっている場合
左から何文字・・・LEFT関数
右から何文字・・・RIGHT関数
何文字目から何文字まで・・・MID関数
決まった文字を基準にする場合
大文字と小文字を区別する・・・FIND関数と上記「A」の関数を組み合わせる
大文字と小文字を区別しない・・・SEARCH関数と上記「A」の関数を組み合わせる
文字列から、指定した位置の文字を取り出します topへ
レフト
=LEFT(文字列,[文字数] ) :文字列の 左端から指定した文字数だけ 取り出す。
文字数を省略すると1を指定したことになります(1の時は省略できる)。
ライト
=RIGHT(文字列,[文字数] ) :文字列の 右端から指定した文字数だけ 取り出す。
文字数を省略すると1を指定したことになります(1の時は省略できる)。
ミッド
=MID (文字列,開始位置,文字数) :文字列の 指定した位置から指定した文字数だけ 取り出す。
【問題1】下記の住所からそれぞれ指定の文字を表示しなさい。
B
C
D
E
2
左から4文字
左から5文字目から4文字
右から6文字
3
鹿児島県鹿児島市山下町1番地
鹿児島県
鹿児島市
山下町1番地
【解答1例】
それぞれLEFT、MID、RIGHT関数を使います。
C3セルは =LEFT(B3,4) としました。
D3セルは =MID(B3,5,4) としました。
E3セルは =RIGHT(B3,6) としました。
FIND関数 を使い、「県」を検索して、その位置を基準に文字列を取り出します。
B
C
D
2
県名を取り出す
県名より後の文字を取り出す
3
鹿児島県鹿児島市山下町1番地
=LEFT(B3,FIND(”県”,B3))
=MID(B3,FIND("県",B3)+1,LEN(B3))
都道府県名を取り除く にはどうすればよいでしょうか?
【問題1】下記の住所からそれぞれ都道府県名を取り除いてください。
B
C
2
住所
都道府県名を削除
3
鹿児島県鹿児島市鴨池新町10番1号
鹿児島市鴨池新町10番1号
4
大阪府大阪市中央区大手前2丁目
大阪市中央区大手前2丁目
5
東京都新宿区西新宿2-8-1
新宿区西新宿2-8-1
6
宮崎県宮崎市橘通東二丁目10番1号
宮崎市橘通東二丁目10番1号
【解答1例】
都:東京都
道:北海道
府:大阪府、京都府
県:4文字(鹿児島県、和歌山県、神奈川県)
と3文字(宮崎県、熊本県など)の2パターン
これらのことから4文字目に"県"が含まれるものと3文字で表示されるものの2パターンがあることになりますので
4文字目が「県」である時は5文字目以降を、それ以外は4文字目以降を取り出せばよいことになります。
ここではMID(B3,5,LEN(B3)-4) と住所の文字数を数えて都道府県の文字数4(または3)を引いて取り出す文字数を計算しています。
C3セル =IF(MID(B3,4,1)="県",MID(B3, 5 ,LEN(B3) -4 ) ,MID(B3, 4 ,LEN(B3) -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)) とすることもできます。
都府県名から右の1文字を削除する にはどうすればよいでしょうか?
【問題1】下記のB3:B6の都府県名から右の1文字を削除しなさい。(都府県の1文字を削除しなさい。)
B
C
2
都府県名
右1文字を削除
3
東京都
東京
4
大阪府
大阪
5
鹿児島県
鹿児島
6
宮崎県
宮崎
【解答1例】
LEFT関数とLEN関数 を組み合わせて使います。
右一文字を削除するということは、文字列の左から「文字数-1」の文字を取り出すことと同じです。
左から文字を取り出すのはLEFT関数、文字数はLEN関数で計算できます。
LEFTB(文字列,[バイト数] ) :文字列の先頭から指定されたバイト数の文字を返す。
RIGHTB(文字列,[バイト数] ) :文字列の末尾 (右端) から指定されたバイト数の文字を返す。
バイト数を省略すると1を指定したことになります(1の時は省略できる)。
MIDB(文字列,開始位置,バイト数) :文字列の任意の位置から指定されたバイト数の文字を返す。
半角文字は1バイト、全角文字は2バイトとなります。ただしUNICODOでは半角文字も2Byteです。
入力時のふりがなを別のセルに取出します。
取出すセルに「=PHONETIC(セル番地)」と入力します。
表示されるふりがなは設定された文字(ひらがな、全角カタカナ、半角カタカナ)で表示されます。
Excel2007以降は漢字の入力されているセルを選択して、[ふりがな]→[ふりがなの設定]を実行します。
Excel2003以前は漢字の入力されているセルを選択して、【書式】→【ふりがな】→【設定】を選択します。
ふりがなタブで種類を選択します。
下図では「ひらがな」を選択しています。
入力した文字列のふりがなを表示するには
Excel2007以降は、[ホーム]タブの[ふりがなの表示/非表示]をクリックします。
Excel2003以前は、メニューバーの【書式】→【ふりがな】→【表示/非表示】を選択します。
↓
ふりがなが意図しないものであったら、書き換えることができます。
漢字の入力されているセルを選択します。
Excel2007以降は、[ホーム]タブの[ふりがな]→[ふりがなの編集]をクリックします。
Excel2003以前は、メニューバーの【書式】→【ふりがな】→【編集】を選択します。
ふりがなを表示し、セルをダブルクリックしてセルにカーソルを表示してから、ふりがな部分をクリックしても編集が可能です。
ふりがなの部分にカーソルが表示され編集が可能になります。
Kagoshima と編集してみました。
隣のセルなどに、ふりがなを表示した方がデータを使い回す場合には便利です。
他のシートからの参照、外部データをインポートした場合にはふりがな情報が欠落します。
VBAのGetPhoneticメソッドでふりがなを振ることが可能です。
Sub myPhone()
Dim c As Range
For Each c In Selection
c.Offset(0, 1).Value = Application.GetPhonetic(c)
Next c
End Sub
ふりがなを設定するにはSetPhoneticメソッドを使います。
Sub myPhone2()
Dim c As Range
For Each c In Selection
c.SetPhonetic
Next c
End Sub
スポンサードリンク
Home »
エクセル関数一覧表 »
文字列の関数(1)
PageViewCounter
Since2006/2/27