• 締切済み

文字列操作の関数はIF関数で使えない?

いつもお世話になります。 下記のように顧客情報を入力しています。(()内はセルの番号です。) コード(A1) 名前(B1) 〒(C1) 住所(D1) 市町村(E1) 顧客の残高を管理するために市町村(E1)に住所から数式で取り出したい(○○市~15-1→○○)のですが、市、町、村、区(~市…区)が混在しているからか上手くいきません。 色々調べたところ、下記の数式でSEARCH関数を使用するとキレイに表示できたので使用したいのですが、"町"、"村"、"区"についてもいいっぺんに出来る方法が分かりません。   =LEFT(D1,SEARCH("市",D1)-1) IF関数を使いたいですが、上手くいきません。 何か良い方法はあるでしょうか? よろしくお願いします。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1です。 >○○市▲▲区 → ○○市(▲▲区と表示したい) >社員も顧客の中にいて、その場合はD1には■◇■(←社名)社員 ⇒抽出条件が多様なようですので文字列から抽出は困難だと思います。  〒番号を元に市区町村の対応リストを作成し、それを元に検索関数で抽出した方が早いと思いますのでご検討下さい。  

回答No.2

こういう質問で思い出すのは、町田市や市川市や下市町や中村区で すね。一律に関数で市町村を抜き出すのは無理があります。 で、そんなの現れないよってくらいローカルな話なら、商圏内の自 治体名を書き出したリストでも作って、入力規則を設定してやるの が将来にわたって楽が出来ると思います。リストと言えば、きちん と昇順に並べ替えたリストがあれば、 =index(リスト,match(D1,リスト,1)) で抜き出せます。リストにない住所を入力すると破綻しますけど。

bunmarines
質問者

補足

早速のご回答ありがとうございます。 リスト…なるほど。 現在、20弱の市町村が出てきます。 顧客は確実に増えていくので、いっそリストにした方が手間が省けるのかもしれません。 どうしても上手い方法が出なかった時は使ってみます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

市区町村のの文字列が市区町村名に重複していた場合は手入力になりますが、次の方法は如何でしょうか。 =LEFT(D1,FIND("#",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D1,"市","#"),"区","#"),"町","#"),"村","#"))-1)

bunmarines
質問者

補足

早速のご回答ありがとうございます。 ワイルドカードを使う方法は考えてもみなかったです。 ただ、区については上手く表示されず…。 ○○市▲▲区 → ○○市(▲▲区と表示したい) となってしまいました。 その場合は別な式を組んだほうがよいのでしょうか? それと、書き忘れてしまいましたが社員も顧客の中にいて、その場合はD1には■◇■(←社名)社員としています。 mu2011様が教えてくださった式でやると上手くいませんが、この場合も別の式を挿入した方が良いのでしょうか?

関連するQ&A

  • エクセルの1セル内の文字列操作。

    以下のことができるかどうかということをお聞きしたいのですが。 ○○-○○××町△△市□□□県  (○は数字) と、住所が、番地から逆に並んで、1つのセル内に書かれているものを、 普通の順番に並べ替えたいのですが。 この作業をしなければいけないものがかなりの数あって、 できることなら、作った数式をコピーして、番地と町、市、県などに分けることができれば、まとめて並び替えれるのに・・・と思ったのですが・・・。 多分、都道府県だけでなく、市、区、郡、町、村、それらの付かない地名、建物名など、法則の無いものを分ける方法など無いだろうなあとは思うのですが、 最後の頼みの綱で、もし、なにかほんの少しでも良いアイデアがあれば・・、 ということで質問させていただきます。 すべて入力しなおすよりも少しでも楽な方法があれば、アイデアをいただきたいと思います。

  • エクセルの文字列操作

    住所録の様式で A列にNo、B列に氏名、C列に住所のファイルがあり、 C列の住所で、1個のセルに何故かしら「住所と電話番号」が入っています。 住所と電話番号を夫々別の列に分割したくて、 電話番号は、RIGHT 関数で取り出しました。 住所は、文字数が一定でないので、LEFTまたはMID関数では出来ません。 ここで質問です 住所データの末尾に混在する電話番号は10文字の場合に限定し、 文字数の異なる、住所(○○市XX町△△番地○△荘2-103など)のみ 抽出する方法はありませんか。 なお、VBAなどは無知です、エクセル関数だけの操作があれば教えてください。

  • Excel関数VLOOKUPについて

    ExcelでVLOOKUP関数を使用して顧客コードから 顧客名 顧客住所を表示しようとしていますが 顧客コードがない場合でも顧客コードの近い顧客の データが出ます。    A      B         C          1 顧客コード  顧客名     顧客住所 2 0231234  安部       十日町 3 0331234   佐藤       五日町    4 0431234   山内       入谷      5 0431239   三浦       荒砥      6 0431250   須藤       新井田    D E 1 顧客コード 顧客名 2 0431240   三浦      と出ます E2のセルには =VLOOKUP(D2、A2:C6、2) 顧客コードがない値には顧客名など出ないよう するにはどうしたらいいのかお教えください。

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

    エクセルの関数で、三つの条件を満たし、なおかつその中の1つは除く数式を探しています。 たとえば、A列  B列  C列      担当 売上月 区分      山本 1月   市      田中 2月   町      鈴木 済    国 としますと、担当が山本で、区分が市 となっている 済を除いた数 がいくつなのか? を数えたい場合、どんな関数を使えばいいのでしょうか? ここで教えていただいた方に、下記の方法を教えていただきやってみたのですがうまくいきません・・・何かがいけないのでしょう・・・ 1.D列に[判定]などの項目で、以下の数式を記述。  =IF(A2="山本",IF(B2<>"済",IF(C2="市","対象",""),""),"")   ※2行目(D2)への記述例です。 2.1の数式をD2から下方向へコピー。   ※データ終了行まで 3.(例えば)E列の1行目などに、以下の数式を記述。  =COUNTIF(D2:D100,"対象")   ※データが100行存在する場合の記述例です。 これで、3.の  =COUNTIF(D2:D100,"対象")  を貼り付けましたが 0 と出てしまいます

  • エクセルIF関数について

    エクセルIF関数について エクセルのIF関数を利用して、重複するデータを抽出したいと思っています。 エクセルのIF関数を利用したことがないため、別の対応策があれば そちらも教えていただけませんでしょうか・・ 宜しくお願いいたします。 下記のようにA列に入っている1,2,3,4,5があり重複しているものをD列に一つにまとめ重複している1、5の合計分と重複していないものをEに表示させたいと思っています。     A  B     D   E 1  1  123    1  249 2  1  3      2  3 3  1  123    3  345 4  2  3      4  234 5  3  345    5  1665   6  4  234     7  5  555 8  5  555 9  5  555 D1、E1にはどのような関数で対応するのが適しているのでしょうか?

  • エクセル:セル「D列」に「○○○(□△□)」とあるとき、( )内を関数で抜き出したい

    お願いいたします。 エクセルの「D列」にある( )内の文字だけを関数で抜き出したいのです。 注)そのとき、「( )」は全角半角が混在している可能性があります。 例えば (1)D1に「○○○(□△□)」とあるとき、  E1に「□△□」 (2)D2に「○×○(■◎▼)」とあるとき、  E2に「■◎▼」としたいのです。 (3)また、D列には( )がない場合もあります。たとえば  D3「◎□△」だけの場合は、  E3には「(空白)」を返す。 私が一生懸命作ってみると下記の関数になりました。 一応、結果は出ます。 しかし、きっと《もっとシンプルに出来るはず》だと思い、勉強のためにもぜひ、ご教授ください。よろしくお願いいたします。 「=IF(ISERROR(MID(D1,(FIND("(",JIS(D1))+1),((FIND(")",JIS(D1))-(FIND("(",JIS(D1))+1))))),"",MID(D1,(FIND("(",JIS(D1))+1),((FIND(")",JIS(D1))-(FIND("(",JIS(D1))+1)))))」

  • IF関数について

    エクセル2013使用です IF関数について教えて下さい A1が空欄だった場合はB1×B2の答えを A1に文字が入っていた場合はC1×C2の答えを D1に表示させたい場合の数式を教えて下さい お願い致します

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • IF関数について

    エクセル2013使用です IF関数について教えて下さい A1が空欄だった場合はB1×B2の答えを A1が空欄ではない場合はC1×C2の答えを D1に表示させたい場合の数式を教えて下さい 初歩的な質問でゴメンナサイ お願い致します

  • 市・町・村の違い

    現在の市町村の基準は何ですか? 人口などが基準になっていると思うのですが。 市になるには条件はあるのでしょうか? また、市になると何かメリットはありますか? 村だとなにかデメリットはありますか? ついでに質問ですか、 町や村の住所に郡が付くのに市に付かないのはなぜですか?

専門家に質問してみよう