• ベストアンサー

EXCELの式です??

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

質問者が選んだベストアンサー

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.8

=IF(MID(A1,4,1)="県",RIGHT(A1,LEN(A1)-4),RIGHT(A1,LEN(A1)-3)) これで良いかと。 県が4文字目に来た場合は左から4文字削除、それ以外は3文字削除。 都道府県全てに対応。 ただし都道府県の表示が絶対に入っていることが前提。

Hiroonchan
質問者

お礼

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

その他の回答 (9)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.10

こんにちは。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なので)

Hiroonchan
質問者

お礼

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

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.9

=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列ようになる。

Hiroonchan
質問者

お礼

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

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.7

#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)) の方がシンプルかもしれません。

Hiroonchan
質問者

お礼

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

noname#148473
noname#148473
回答No.6

#5の方の回答は一見すっきりしていて良さそうですが、 宮崎県都城市・・・ 広島県尾道市・・・ などの場合に誤動作するのではないかと思います。 横槍を入れる非礼をお許しください。 ただ、少し気になりましたので。。。

Hiroonchan
質問者

お礼

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

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

やるのならSubstitute関数になります。 =Substitute(A1,"*県","") 都道府県なら4つ重ねる

Hiroonchan
質問者

お礼

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

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.4

=MID(A2,FIND("県",A2,1)+1,LEN(A2)) しかし、県だけでよいのですか?都道府は?

Hiroonchan
質問者

お礼

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

noname#148473
noname#148473
回答No.3

「県」しかないのでしたら、#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文字目に位置すると仮定して作ってありますので、行頭に郵便番号が入っていたり、スペースやタブが入っていたりすると正確に動かない恐れがあります。念のため。

Hiroonchan
質問者

お礼

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

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

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)="東京都","東京都","")))) でいかがですか?

Hiroonchan
質問者

お礼

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

回答No.1

セルA1に〇〇県△□市と入力されているとして。 =MID(A1,FIND("県",A1),LEN(A1)) でどうでしょう?

Hiroonchan
質問者

お礼

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

関連するQ&A

  • エクセル2007 IF関数

    IF関数について教えて下さい。 住所を参照して、県内、県外の表示を行いたいのですが、 例)B2のセルに”福岡市”であれば、=IF(B2="福岡市","県内","県外")として表示は可能ですが、   B2のセルに”福岡県福岡市”とあった場合も同様に行うにはどうしたらよいのでしょうか?   その他、福岡県福岡市博多区であっても”県内”の表示を行いたいのです。   B2の住所入力から福岡市のみで判断させたいのですが、方法がわかりません。 OSはXP、エクセル2007です。困っています。よろしくお願いします。

  • エクセル関数式を教えてください。

    エクセル関数式を教えてほしいのですが、 あるセル値Aが100未満の場合は、セルを空白(表示なし)に設定し あるセル値Aが100以上の場合は、他のセルB値の数値を表示させる。 初心者で関数式がわかりません、誰か教えてください。 お願いします。

  • この式をExcelの式に・・・・

    Excelで質問です。 私は、「C5<=(d5-e5)*x<c5+(d5-e5)」という式を作りました。このxを、この式を入力したセルに表示したいのです。その場合、どのような式を作ればよいのでしょうか。お願いします。

  • エクセルで式が見えなくなった

    会社でエクセルを使っていまして、 普通はセルの上にマウスのカーソルを重ねると式が表示されますが、 一昨日終了して、昨日立ち上げると、セルにマウスを重ねても式が表示されないようになっていました。 また見えるように戻したいのですが、どのようにしたらよろしいでしょうか?

  • エクセルで郵便番号を自動表示したい

    エクセルで住所の入力されたセルに対応する郵便番号を表示する式はありますか? もしなければ、他の方法で、同様のことはできますか?

  • ExcelのIF式についてまたまた困っています。

    いつもお世話になっています。 IF式の組み立てに悩んでいます。 判定に用いる式について「OR」なのか「AND」なのか又別の物なのか分らなく悩んでいます。 以下についてのIF式を教えてください。 1.あるセルに複数のセルの数値が同じ場合に「OK」をそれ以外の時は「NG」を表示させたい場合。 2.あるセルにセル範囲Aが同じ数値の場合「A」、セル範囲Bが同じ数値の場合「B」、その他の場合には「無表示」させたい場合。 3.あるセルに他のセルに入力がない時は、「無表示」入力された場合に計算式結果を「表示」させたい場合 以上3点についてIF式についてなにとぞ教えてください。

  • エクセルで住所を2つのセルに分けたいのです。

    エクセルで現在、住所を「○○市○○○町1-1-1」というようにひとつのセルに入力しているのですが、これを「○○市○○○町」の部分と「1-1-1」の部分を分けてひとつずつの列にしたいのです。数字部分は全角で入力しております。 よろしくお願い致します。

  • excel 数式演算

    excelの 数式演算で= の表示されていてセルの式を書きこむ欄が なぜか消えてしまいました. 数式バーを再表示する方法を教えてください。

  • Excelの条件式について

    Excelのセルに値を入力する際に ・セルの中に一文字「a」と入力したら「林檎」と表示 ・セルの中に一文字「b」と入力したら「ブルーベリー」と表示 ・セルの中に一文字「c」と入力したら「ココナッツ」と表示 ・その他の一文字あるいは文字列を入力した際には、その文字(あるいは文字列)がそのまま表示 されるようにするにはどのような式を書けばよろしいのでしょうか? お判りになられる方がいらっしゃいましたら教えて下さい。 よろしくお願い致します。

  • エクセルの式について

    基本的なことですがヘルプを見てもよくわからないのでよろしくお願いします。 交通費なのですがオートサムが設定されている合計欄に0を表示したくないのでnullにする式を教えてください。 =SUM(D9:D31) 未入力だとD32に0が表示されています。入力しないと空白のままにしたいです。 また、式が入力されているセルの値を消してしまうと式も消えてしまいますが指定したセルの式を保護することはできますか? シート保護だと入力もできなくなってしまいます。

専門家に質問してみよう