ウォーターサーバーとコーヒーマシンが一体化した画期的マシン >>

エクセルで郵便番号の上3桁から県名を返す式を作りたいと思っています。
XXX-XXXXとなっている、上3桁を取り出し、そこから県名を求めるようなイメージで考えています。
まず、上3桁を取り出す式は、どのような式を作ればいいでしょうか?
次に、そこから県名を求める式を作りたいのですが、001~999までの一覧表を作り、VLOOKUP関数を使うのがいいでしょうか?
その場合、001~999までの一覧表を作らなければなりませんが、どのように郵便番号が各都道府県に割り振られているのか、郵便番号について詳しい方、教えてください。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

7桁の郵便番号を入力したら「郵便番号変換ウィザード」で、都道府県から始まる住所を一旦出しておいて、そこから都道府県名だけを切り取ったら如何かと。


それでOKなら、都道府県名切取関数を提示します。
    • good
    • 0
この回答へのお礼

ありがとうございます。
それが一番早いかもしれませんね。
ちょっと大変ですけど。。。

お礼日時:2006/08/08 17:38

郵便番号がわかるなら


IME郵便番号辞書かOffice郵便番号辞書&郵便番号変換ウィザードを利用した方がいいかと?

IME郵便番号辞書
http://support.microsoft.com/kb/881160/ja

Office郵便番号辞書&郵便番号変換ウィザード
http://support.microsoft.com/kb/880817/ja
    • good
    • 1
この回答へのお礼

ありがとうございます。
IME辞書を使って一つ一つやるのがいいかもしれませんね。

お礼日時:2006/08/08 17:40

上三つということなら、対象の7桁(-があれば8桁)の左3桁をとればいいです。



関数使うなら、Left関数使えばいいですよ。
Left(対象文字列,3)とやれば、先頭3文字をピックアップできます。

あとは、vlookupでもやってください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
郵便局のHP以外でデータの取得、加工が簡単なところはありませんか?

お礼日時:2006/08/08 17:36

ゆうびんホームページに郵便番号表があります。


http://www.post.japanpost.jp/zipcode/index.html
上位2桁が大体の地域を示しますが、頭2桁の00と01、90については、必ずしも一致しませんのでご注意ください。
詳細は日本郵政公社にお尋ねになるのがよいと思います。

この回答への補足

お礼を言い忘れました。
ありがとうございます。

補足日時:2006/08/08 17:42
    • good
    • 0
この回答へのお礼

これだと、データをダウンロードしても編集が大変ですね。

お礼日時:2006/08/08 17:42

まずはデータを手に入れてから眺めてみられてはどうでしょうか?



http://www.post.japanpost.jp/zipcode/download.html
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/08/08 17:40

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q郵便番号と都道府県の対応表がほしい

郵便番号と都道府県の対応表がほしいのですが、
どのように手に入れればよいのでしょうか。


何番から何番まで 北海道
何番から何番まで 青森県



何番から何番まで 沖縄県

こんな感じの表です。


住所から郵便番号を検索するサイトはたくさんあるんですが・・・

Aベストアンサー

 再びNo.3のkimgwaです。ご連絡をありがとうございました。

 平成10年の「新郵便番号簿」をお持ちのことで、ひとまずはよかったですね。

 それはオレンジ色のA4版の物ですか?

 もしそうなら、P34に「全国地域番号図」がありますね。その中に越境区分が点線で示されていますから、それを基にチェックしていってみてはいかがでしょうか?

 例えば、青森県内に点線があり、秋田の「01」から矢印が引いてあります。
 そこで青森県の郵便番号のページを探すと、P65の十和田湖町の奥瀬の一部の地域が018-5501で、秋田県を示す郵便番号ながら、青森県の十和田湖郵便局が配達していることが分かります。

 そしてこの奥瀬はさらに例外のようですね。
 青森県を青森県内の郵便局が配達するのに、なんで秋田から矢印が引いてあって、秋田の郵便番号なのか、と思われるのではないでしょうか?

 郵便物は本来、各都道府県にある決まった郵便局(地域区分局といいます。郵便番号の上2桁の範囲を管轄しています。新潟県なら94地域を管轄する長岡郵便局と、95地域を管轄する新潟中央郵便局です。さらに例外で94を細分する準地域区分局の高田郵便局(つい最近までは直江津郵便局でした。)もあります。この図には載っていません。)から、管轄内の集配郵便局へ細かく分けられていきます。

 ですから、奥瀬の一部宛の郵便物も本来は青森中央郵便局を通ってきて奥瀬郵便局から配達されるハズなのですが、地域の理由から秋田県を経由して青森県入りするというルートを採っているようです。

 このような越境の例は表からも分かるように全国でも極めて異例で、大基本として、ある市区町村は、その市区町村が所属する都府県の郵便局が配達するのですが、特に本来担当するべき集配郵便局から相当に離れている集落の場合など、都府県が違っても隣の集配郵便局が受け持つ方が合理的な場合があるのです。

 たまたま、先ほど例に挙げた秋田と青森の越境区分が例外中の例外だったため、多少混乱なさるかもしれませんが、いずれにしても、基本のルートではなく、県境を超えて郵便物が動くと理解していただければ、まあ間違いないでしょう。

 もちろん地図からも分かるように、都市部の例もありますが…。

 雪深いところや、川などで簡単に対岸に行けないような場合もあるようです。

 大した数ではありませんから、1つ1つピックアップして納得のいく表をお作りになってみてはいかがですか?
 うまくできるといいですね。

 説明がへたくそで申し訳ありませんでした。図を描きながらだと説明しやすいのですが…。

 ご参考までにどうぞ。

 再びNo.3のkimgwaです。ご連絡をありがとうございました。

 平成10年の「新郵便番号簿」をお持ちのことで、ひとまずはよかったですね。

 それはオレンジ色のA4版の物ですか?

 もしそうなら、P34に「全国地域番号図」がありますね。その中に越境区分が点線で示されていますから、それを基にチェックしていってみてはいかがでしょうか?

 例えば、青森県内に点線があり、秋田の「01」から矢印が引いてあります。
 そこで青森県の郵便番号のページを探すと、P65の十和田湖町の奥瀬の一部の...続きを読む

Qエクセルで郵便番号を入力し頭の「0」が消えないようにするには?

エクセルで郵便番号を入力するときに、頭の数字が「0」だと、入力後確定すると0が消えてしまいます。アメリカは0から始まるZipコードがないのでこうなっている気がするんだけど、日本では北海道などは「0」から始まるのに、エクセルの日本語版でも0が消えてしまうのは、どうしてでしょうか? また0が消えないようにするにはどうすればいいでしょうか? 文字列設定にすると、アクセスにインポートする時うまく行かないときがあるので、数式設定で0が消えないようにしたいんですけど。

Aベストアンサー

#6の者です

012-3456 とセルに入力するときに
'012-3456 と入力すれば
012-3456 と表示されます。

普通に入力すると 12-3456 となってしまう状態を「'」を付けることにより 012-3456 と表示させる事が出来ます。

Qエクセル2013で 郵便番号から住所を表示する

いつもお世話になります。
エクセル2013から搭載された WEBSERVICEという関数を使って
郵便番号→住所の変換をしたいと思っています。

《参考にしたサイト》
http://www.ka-net.org/blog/?p=1933

↑こちらに紹介されていた

=FILTERXML(WEBSERVICE("http://zip.cgis.biz/xml/zip.php?zn=" & $A2),"/ZIP_result/ADDRESS_value/value[@address]/@address")

を使うと、簡単に住所変換できるのですが
都道府県~市までの情報が 表記されません。

●●県●●市 も表記できるようにしたいのですが
どのようにすればよいか ご存じの方いらしたら教えてください。

Aベストアンサー

お示しの
> 《参考にしたサイト》
> http://www.ka-net.org/blog/?p=1933
からリンクをたどって「xmlサンプル」まで確認されましたか?
(もっとも、確認していればこの質問には陥らなかったのでしょうけれど。)


さて、リンクをたどって
http://zip.cgis.biz/xml/zip.php?zn=0600000
にたどり着けたとして話を進めます。

郵便局が発行している郵便番号データは通常の場合、
・都道府県名
・市区町村名
・町域名
・(事業所固有)
の4欄に分かれています。

で、上記サンプルと照らし合わせたとき、
・都道府県名=state
・市区町村名=city
・町域名=address
・(事業所=company)
であることが読み取れます。

これを踏まえてお示しの「式」
> =FILTERXML(WEBSERVICE("http://zip.cgis.biz/xml/zip.php?zn=" & $A2),"/ZIP_result/ADDRESS_value/value[@address]/@address")
を見てみると、きっと末尾の「value[@address]/@address」が何やら怪しいと思いませんか?
ここを例えば「value[@state]/@state」などとしたら、何が返ってくるでしょう?
市区町村に関しても同様だと思われます。


あとは「&」でも使って結合してやればどうとでもなりますね。




※当然ながら2010以前のバージョンでは正しく機能しません。
 ほかのPCでの閲覧・他所への配布を考えるならコレはオススメできません。
 ということだけ、付記しておきます。

お示しの
> 《参考にしたサイト》
> http://www.ka-net.org/blog/?p=1933
からリンクをたどって「xmlサンプル」まで確認されましたか?
(もっとも、確認していればこの質問には陥らなかったのでしょうけれど。)


さて、リンクをたどって
http://zip.cgis.biz/xml/zip.php?zn=0600000
にたどり着けたとして話を進めます。

郵便局が発行している郵便番号データは通常の場合、
・都道府県名
・市区町村名
・町域名
・(事業所固有)
の4欄に分かれています。

で、上記サンプルと照らし合わせたとき、
・都道...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで、郵便番号を入力すれば、自動的に右のセルに住所が入力される方法

質問をご覧になっていただきありがとうございます。

タイトルの通りなのですが、
郵便番号を入れれば、自動的に右のセルに住所が入力される方法
をご存知ないでしょうか?

一応それらしいソフトはインストールしたのですが、
使い方が分かりません。私のバージョンは2000で、会社のは2007です。
http://office.microsoft.com/ja-jp/excel/HP100775141041.aspx
ここからダウンロードしました。

明日仕事で使いたいので焦ってます。どうかよろしくお願いします。

Aベストアンサー

2007の例です。
「アドイン」タブの「ウィザード」の▼から「郵便番号変換」をクリックします。
「郵便番号から住所を生成する」にチェックをして「次へ」、「郵便番号データのセル範囲」にはシートでの範囲(たとえばA列)をカーソルで選択して入力します。同様に「住所を出力するセル範囲」(たとえばB列)を入力します。その後に必ず「既存のセルを上書きする」にチェックがあることを確認します。チェックが無いと表示されません。
「次へ」でコメントに出力するにチェックがあると思いますのでそのまま「完了」します。

Qエクセルで多数のシートをまとめる方法

エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

Aベストアンサー

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。

さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。

Qvlookup関数で検索値を含む文字列を検索する方法

vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。
 よろしくお願いします。

Aベストアンサー

=VLOOKUP("*"&D1&"*",A:C,3,FALSE)

Q2つのシート間での重複データのチェック

Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

Aベストアンサー

シート1のC列に式を入れます。
=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

Qエクセルで特定の行を抽出させる方法について。

エクセルでの関数についての質問ですが、

     A     B    C     D  
 1  名前   日付  場所   時間
 2  Aさん  10/7  工場1   8.0
 3  Bさん  10/7  工場1   8.0
 4  Cさん  10/7  工場2   4.0
 5  Cさん  10/7  工場1   8.0
 6  Aさん  10/8  事務所   8.0
 7  Cさん  10/8  工場2   8.0
 8  Aさん  10/9  事務所   4.0

以上の表から別のシート2にAさんだけの行を抽出するには、どのようにすれば良いのでしょうか?
INDEXやMATCH・LOOKUPを使っていろいろ試したのですがイマイチうまく行かないもので・・・。

因みに、シート2のイメージは

      A     B     C  
 1   名前  :  Aさん 
 2
 3   日付   場所   時間
 4   10/7   工場1    8.0
 5   10/8   事務所    8.0
 6   10/9   事務所   4.0

このような感じです。

よろしくお願いします。

エクセルでの関数についての質問ですが、

     A     B    C     D  
 1  名前   日付  場所   時間
 2  Aさん  10/7  工場1   8.0
 3  Bさん  10/7  工場1   8.0
 4  Cさん  10/7  工場2   4.0
 5  Cさん  10/7  工場1   8.0
 6  Aさん  10/8  事務所   8.0
 7  Cさん  10/8  工場2   8.0
 8  Aさん  10/9  事務所   4.0

以上の表から別のシート2にAさんだけの行を抽出するには、どのように...続きを読む

Aベストアンサー

こんにちは!

極端にデータ量が多い場合はおススメできませんが・・・
一気に表示する方法です。

↓の画像で右側がSheet2とします。
Excel2007以降のバージョンをお使いだとして・・・

Sheet2のA4セルに
=IF($B$1="","",IFERROR(INDEX(Sheet1!B$1:B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=$B$1,ROW(A$1:A$1000)),ROW(A1))),""))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面から数式をコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA4セルを選択 → 数式バー内に貼り付け
→ そのまま(編集可能なまま)Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
これをC4セルまでコピー!

A4セルの表示形式は「日付」にし、A4~C4セルを範囲指定 → C4セルのフィルハンドルで下へコピー!

これで画像のような感じになります。m(_ _)m꜊

こんにちは!

極端にデータ量が多い場合はおススメできませんが・・・
一気に表示する方法です。

↓の画像で右側がSheet2とします。
Excel2007以降のバージョンをお使いだとして・・・

Sheet2のA4セルに
=IF($B$1="","",IFERROR(INDEX(Sheet1!B$1:B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=$B$1,ROW(A$1:A$1000)),ROW(A1))),""))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面から数式をコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA4セルを選択 → 数式バ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング