アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELの住所欄(1つのセル内)に〇〇県△□市の〇〇県の部分を取り除いて表示させたいのですが、どういった式がありますか?また、式で出来ない場合、他の方法がありますか?宜しくお願い致します。

A 回答 (10件)

=IF(MID(A1,4,1)="県",RIGHT(A1,LEN(A1)-4),RIGHT(A1,LEN(A1)-3))


これで良いかと。
県が4文字目に来た場合は左から4文字削除、それ以外は3文字削除。
都道府県全てに対応。
ただし都道府県の表示が絶対に入っていることが前提。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。バッチリでした(^.^)

お礼日時:2004/08/29 11:46

こんにちは。

maruru01です。

都道府県名が必ずあるなら他の方々の回答にあるように出来ます。
これとかも。

=MID(A1,(MID(A1,4,1)="県")+4,LEN(A1))

しかし、都道府県名が無い場合もあると、複雑になります。
No.3の方の回答でも、例えば、
(茨城県)水海道市
(福岡県)太宰府市
などが都道府県名なしであれば、上手くいきません。
これらは回避するには、どこか別の場所に都道府県名一覧表を作成しておいて参照する、などの必要があります。
仮に、Sheet2のA1:A47に都道府県名の一覧を用意するとします。
そうすると、

=MID(A1,SUM(COUNTIF(Sheet2!$A$1:$A$47,LEFT(A1,{3,4}))*{3,4})+1,LEN(A1))

という数式で出来ます。

ところで、No.7の方へ
SUBSTITUTE関数ってワイルドカード使えましたっけ?
(ひょっとして2002以降?当方2000なので)
    • good
    • 0
この回答へのお礼

ご回答有難うございました。うまくできました。

お礼日時:2004/08/29 11:54

=SUBSTITUTE(A1,MID(A1,1,FIND("県",A1)),"")


エラーが出た行は
=SUBSTITUTE(A1,MID(A1,1,FIND("都",A1)),"")
他、道、府で対処する。
ユーザー関数を作ると
Function ken(a)
b = Array("県", "都", "道", "府")
For j = 0 To 3
p = InStr(a, b(j))
If p <> 0 Then GoTo p01
Next j
p01:
ken = Mid(a, p + 1, Len(a) - p)
End Function
A列に
A列       B列
福島県福島市福島市
東京都昭島市昭島市
大阪府高槻市高槻市
北海道旭川市旭川市
鹿児島県枕崎市枕崎市
広島県府中市府中市
宮崎県都城市都城市
とあってB1に=ken(A1)といれて下に複写すると
上記のB列ようになる。
    • good
    • 0
この回答へのお礼

ご親切な回答有難うございました。マクロのほうは、まだ、訳分かりませんので、すいませんが今後は勉強したいと思います。

お礼日時:2004/08/29 11:50

#5のmshr1962です。


#6の方の言う通り、誤動作する可能性はありますね。
=Substitute(Substitute(Substitute(Substitute(LEFT(A1,3),"*都",""),"*道",""),"*府","")&MID(A1,4,1),"*県","")&MID(A1,5,LEN(A1))

必ず都道府県があるなら
=MID(A1,IF(MID(A1,4,1)="県",4,3),LEN(A1))
の方がシンプルかもしれません。
    • good
    • 0
この回答へのお礼

たび重ねてご回答いただき誠に有難うございました。
=MID(A1,IF(MID(A1,4,1)="県",4,3),LEN(A1))の式のほうをコピペしたのですが、『県○○市△町』と私のEXCELでは出力されたのですが・・ちなみにバージョンは2000です。

お礼日時:2004/08/29 11:43

#5の方の回答は一見すっきりしていて良さそうですが、



宮崎県都城市・・・
広島県尾道市・・・

などの場合に誤動作するのではないかと思います。
横槍を入れる非礼をお許しください。
ただ、少し気になりましたので。。。
    • good
    • 0
この回答へのお礼

お答え有難うございます。fuji2002さんがどういう理由でこの2つの市を例に出されたのか、私には全く理解できませんが、私の住む住所でも確かにそのまま出力されました^_^;

お礼日時:2004/08/29 11:39

やるのならSubstitute関数になります。


=Substitute(A1,"*県","")
都道府県なら4つ重ねる
    • good
    • 0
この回答へのお礼

ご回答誠に有難うございました。でも私の入力が誤っているのか、そのまま同じように出力されたのですが・・。

お礼日時:2004/08/29 11:36

=MID(A2,FIND("県",A2,1)+1,LEN(A2))


しかし、県だけでよいのですか?都道府は?
    • good
    • 0
この回答へのお礼

ご回答有難うございます。みごと○○県で残りました。私の質問のし方が悪かったため、ちょっと取り違えて答えていただいたのですが・・どちらかというと○○市以降だけにしたかったのです。すいません。でもとても勉強になります。

お礼日時:2004/08/29 11:32

「県」しかないのでしたら、#1の方が書かれたとおりで良いのですが、都・道・府も混在しているとなると少々厄介です。



少し長い式ですが、試してみてください。
(住所データはセルA1に入っているものとします)

=MID(A1,IF(ISERROR(FIND(MID(A1,3,1),"都道府県")),0,3)+IF(ISERROR(FIND(MID(A1,4,1),"県")),0,4)+1,255)

都道府県名が書かれていない住所でもOKです。
ただし、「都道府」は必ず3文字目、「県」は3~4文字目に位置すると仮定して作ってありますので、行頭に郵便番号が入っていたり、スペースやタブが入っていたりすると正確に動かない恐れがあります。念のため。
    • good
    • 0
この回答へのお礼

すばらしい!有難うございます。でもどうして皆さん、こんな複雑な式を簡単に出来るのか??ただ式をコピーするだけの私は何だか、劣等感や情けなさを感じます(;_;)

お礼日時:2004/08/29 11:31

A1セルから○○県を抜き出すのであれば、



=IF(ISNUMBER(FIND("県",A1)),LEFT(A1,FIND("県",A1)),"")

といった感じで出来ますね。
都道府県に対応するなら、

=IF(ISNUMBER(FIND("県",A1)),LEFT(A1,FIND("県",A1)),IF(OR(LEFT(A1,3)="大阪府",LEFT(A1,3)="京都府"),LEFT(A1,3),IF(LEFT(A1,3)="北海道","北海道",IF(LEFT(A1,3)="東京都","東京都",""))))

でいかがですか?
    • good
    • 0
この回答へのお礼

有難うございました。みごと○○県で残りました。私の質問のし方が悪かったため、ちょっと取り違えて答えていただいたのですが・・どちらかというと○○市以降だけにしたかったのです。すいません。でもとても勉強になります。

お礼日時:2004/08/29 11:27

セルA1に〇〇県△□市と入力されているとして。


=MID(A1,FIND("県",A1),LEN(A1))
でどうでしょう?
    • good
    • 0
この回答へのお礼

早速のご回答有難うございました。
結果は、(県○○市・・・・)と表示されました。

お礼日時:2004/08/29 11:23

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