|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「StiLL」Excel情報208 関数--住所を地名と番地に分けて表示@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■文字列内の数字の位置を抽出し、その位置の値で文字列を分けて表示する事ができます。
この方法を使い、今回は住所を地名と番地に分ける方法をご紹介します。 |
☆対応方法:FIND関数・MIN関数をつかって数字の位置を抽出します。その値からLEFT関数で数字より前の文字を、SUBSTITUTE関数で数字から後ろの文字をそれぞれ分けます。 |
※ご注意下さい。今回ご紹介する方法は、番地が半角の数字で始まることを条件としています。全角数字をご利用の場合はFIND関数で使用しているダミー数字を変更する必要があります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
住所を地名(番地の前)と番地に分けます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
番地は数字で表示されているとします。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
住所の中で数字が始まる位置を出して、その位置から地名と番地に分ける方法をご紹介します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
住所: |
渋谷区恵比寿西2-2-8 |
|
地名: |
渋谷区恵比寿西 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
番地: |
2-2-8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■FIND関数とMIN関数を使い、数字の始まる位置を求める |
|
|
|
|
|
|
|
|
|
|
|
まず数字の始まる位置を、「FIND関数」・「MIN関数」を利用して求めます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@FIND関数を使用し、数字(1,2,3,4,5,6,7,8,9,0)を検索値として、検索対象(住所)内の数字位置を抽出します。 |
|
|
|
|
|
|
AMIN関数を使用して、FIND関数で求めた値の中から最小の値を抽出します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[表1] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
検索値 |
数式 |
|
結果 |
←(C10)は住所が入ったセルです。 |
|
|
|
|
|
|
|
|
|
1 |
=FIND(1,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
=FIND(2,C10) |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
=FIND(3,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
=FIND(4,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
=FIND(5,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
=FIND(6,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
=FIND(7,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
=FIND(8,C10) |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
=FIND(9,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
=FIND(0,C10) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最小値 |
=MIN(E26:E35) |
#VALUE! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
そこで、エラー値が出ないように、FIND関数の検索対象にダミー数字を設定します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
数字「1234567890」を、検索対象セルに「&」でつなげます。 |
|
|
|
|
|
|
|
|
|
|
|
=FIND(1,(C10)&"1234567890")) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「渋谷区恵比寿西2-2-81234567890」 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[表2] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
検索値 |
数式 |
|
|
結果 |
[表2]のように、ダミー数字の設定により、 |
|
|
|
|
|
|
|
|
1 |
=FIND(1,C10&"1234567890") |
|
13 |
全ての検索値に結果が返されます。 |
|
|
|
|
|
|
|
|
2 |
=FIND(1,C10&"1234567890") |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
3 |
=FIND(1,C10&"1234567890") |
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
4 |
=FIND(1,C10&"1234567890") |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
5 |
=FIND(1,C10&"1234567890") |
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
=FIND(1,C10&"1234567890") |
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
7 |
=FIND(1,C10&"1234567890") |
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
8 |
=FIND(1,C10&"1234567890") |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
9 |
=FIND(1,C10&"1234567890") |
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
=FIND(1,C10&"1234567890") |
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最小値 |
=MIN(F52:F61) |
|
8 |
→[表2]結果内(F43:F52)の最小値 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MIN関数で最小値が抽出されました。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
※ |
「FIND関数」・「FIND関数とSEARCH関数の違い」については、バックナンバーをご参照下さい。 |
|
|
|
|
|
|
|
|
|
【バックナンバー103】 関数--FIND関数 |
|
|
|
|
|
|
|
|
|
|
|
|
※ |
「MIN関数」については、バックナンバーをご参照下さい。 |
|
|
|
|
|
|
|
|
|
|
|
|
【バックナンバー107】 関数--AVARAGE/MAX/MIN関数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■LEFT/SUBSTITUTE関数を使い地名と番地に分ける |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[表3]のように、数字の位置が抽出されましたら、 |
|
|
|
|
|
|
|
|
|
|
|
|
@地名をLEFT関数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A番地をSUBSTITUTE関数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
を使用して求めます。(以下の数式内の「F77」は、住所のセルです) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[表3] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
検索値 |
結果 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
13 |
|
住所: |
渋谷区恵比寿西2-2-8 |
|
|
|
|
|
|
|
|
|
|
2 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
15 |
|
地名: |
渋谷区恵比寿西 |
|
|
|
|
|
|
|
|
|
|
|
4 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
17 |
|
番地: |
2-2-8 |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最小値 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@LEFT関数: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=LEFT(F77,C88-1) |
|
|
または |
=LEFT(F77,MIN(C77:C86)-1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[表3]で最小値を抽出したセル |
|
[表3]結果の値一覧から、最小値を抽出 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・住所の番地より左の文字(地名)を出します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
結果: |
渋谷区恵比寿西 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意: |
「"番地が始まる位置の値"-1」が、地名の文字数となりますので、 |
|
|
|
|
|
|
|
|
|
|
MIN関数で抽出した値から1を引きます。(青色の下線部分) |
|
|
|
|
|
|
|
|
|
|
|
1を引かないと、「渋谷区恵比寿西2」と、番地が1文字出てしまいます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ASUBSTITUTE関数: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=SUBSTITUTE(F77,F79,"") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LEFT関数で出された「地名」のセル |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・地名部分を空白にして、番地部分を出します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
結果: |
2-2-8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
番地が無い住所の場合は、LEFT関数の結果の欄に住所が全て出ます。 |
|
|
|
|
|
|
|
|
|
|
SUBSTITUTE関数の結果は空欄になります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
※ 今回の内容を「見本」のシートにまとめてありますので、ご参照下さい。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
今回、文字位置の値を求める為に、10個のFIND関数を使用しましたが、今回の方法を応用して、 |
|
|
|
|
|
|
|
|
FIND関数1個にまとめて値を求める方法を、次回のメールサービスでご紹介します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|