• ベストアンサー

エクセルの文字列に空白を含むかどうかの条件分けについて

現在、仕事でエクセルを使っています。 住所録から宛名ラベルを作ろうと思っているのですが、ここで問題が発生しました。 宛名ラベルの書式は住所とマンション名を別のセルに分けて配置するようになっているのですが、住所録のセルには例のように記載されています。 (例)○○県○○市○○町1-2 ○○マンション1号室 そこで、LEFT+FIND関数で分けて、住所とマンション名を分けて取り出すのには成功したのですが、今度は別の問題が発生しました。 それは、以下の例の様なセルに関してエラー値が返ってくるのです。 (例)○○県○○市○○町2-3 そこで、文字列に空白が含まれているかどうかを判断をすれば良いと考えたのですが、この条件分けが上手くいきません。 どの様にすればいいのか知恵をお貸しください。 よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

空白でセルの文字列を分離するのですね。空白有り無しの判断方法は既に回答されていますので、関数ではなく別の分離方法を回答します 住所の列を別シートのA列に貼り付けます。A列のデータ全体を選んで「データ」→「区切り位置」を選択し「区切り位置指定ウィザード」を開きます 1/3画面では「カンマやタブによって…」を選択し「次へ」 2/3画面で区切り文字の「スペース」と「連続したデータは1文字として扱う」の両方にチェックをいれて「完了」 するとスペースで文字列を区切ってデータを分けてくれます。 この方法の良いところは「全角スペース」「半角スペース」のどちらも対応できることです。 結構重宝する機能ですから一度お試しください

ikuo125
質問者

お礼

回答ありがとうございます。 早速試してみました。 すると、思ったと売りの結果が出ました!!。 目からうろこです。 これで問題は解決しそうです。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

文字列の空白を削除してよいのであれば、 空白を削除するセル範囲を選択して、「編集」→「置換」で表示されるダイアログで、 「検索する文字列」欄に「スペース」を入力して、「置換後の文字列」欄は何もしないまま、「すべて置換」ボタンを押すと、「○○件を置換しました。」のメッセージが出て、選択したセル範囲のスペースが削除されます。 なお、置換操作は元に戻せませんので、そのファイルをセーブした後、実行してください。

ikuo125
質問者

お礼

回答ありがとうございます。 ただ、今回の場合、空白を削除するのが目的でなく、空白を元に文字列を分ける。ただし、空白のないものに関してはそのままにする。と、いうのが目的なので、この方法だと求める結果は出ませんでした。 ただ、回答していただいたことには感謝しています。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

空白の有無を調べるだけであれば  =IF(A1=SUBSTITUTE(A1," ",""),"空白なし","空白あり") このようにして空白を別の文字に置き換えるなどしたあと比較することで判断可能です。 しかし、質問の場合は、ISERROR関数で振り分けて良いと思います。 あるいは・・・  データ → 区切り位置 → スペースによって右または左に~(を選ぶ) → OK これでスペースの位置でセルを分けることができます。 元のセルの右側に強制的に分けたデータが書き込まれます。あらかじめ必要な数の列を挿入しておいてください。

ikuo125
質問者

お礼

早速のお答えありがとうございました。 ISERROR関数である程度対処ができました。 何とか出口が見えてきた感じなのでがんばってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

  • Excel 住所分け市区郡

    ここで教えて頂いた式なのですが セルB1に =IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3)) セルE1に =MID(A1,LEN(B1)+1,150) セルC1に =IF(ISERROR(FIND("大和郡山市",E1))=FALSE,"大和郡山市",IF(ISERROR(FIND("四日市市",E1))=FALSE,"四日市市",IF(ISERROR(FIND("廿日市市",E1))=FALSE,"廿日市市",IF(ISERROR(FIND("郡山市",E1))=FALSE,"郡山市",IF(ISERROR(FIND("市原市",E1))=FALSE,"市原市",IF(ISERROR(FIND("郡上市",E1))=FALSE,"郡上市",IF(ISERROR(FIND("蒲郡市",E1))=FALSE,"蒲郡市",IF(ISERROR(FIND("小郡市",E1))=FALSE,"小郡市",IF(ISERROR(FIND("市川市",E1))=FALSE,"市川市",IF(ISERROR(FIND("郡",E1))=FALSE,LEFT(E1,FIND("郡",E1)),IF(ISERROR(FIND("市",E1))=FALSE,LEFT(E1,FIND("市",E1)),IF(ISERROR(FIND("区",E1))=FALSE,LEFT(E1,FIND("区",E1)),IF(ISERROR(FIND("町",E1))=FALSE,LEFT(E1,FIND("町",E1)),IF(ISERROR(FIND("村",E1))=FALSE,LEFT(E1,FIND("村",E1)),"")))))))))))))) セルD1に =SUBSTITUTE(SUBSTITUTE(A1,B1,"",1),C1,"",1) 大阪府大阪市西淀川区福町3丁目1-50→大阪府 大阪市 西淀川区福町3丁目1-50 兵庫県神戸市兵庫区芦原通1丁目2番26号→兵庫県 神戸市 兵庫区芦原通1丁目2番26号 となります。これを 大阪府大阪市西淀川区福町3丁目1-50→大阪府 大阪市西淀川区 福町3丁目1-50 兵庫県神戸市兵庫区芦原通1丁目2番26号→兵庫県 神戸市兵庫区 芦原通1丁目2番26号 と市と区は同じセルに分けたいです。郡も同じで市と同じセルに分けたいです。 分ける区分は都道府県  市区郡  町名・番地と三つに分けます。

  • 入力された住所から都道府県の後ろにある空白を削除

    例 ○○県 〇〇市〇〇町1-1 マンション1号室 ○○県 〇〇市〇〇町1-1マンション2号室 ○○県〇〇市〇〇町1-1マンション3号室 上記の例ような都道府県の後ろや番地の後ろに空白があったりなかったりする住所が格納されている配列があります 都道府県の後ろの空白だけ削除してそれ以降の空白は無視したいです replace(' ','')では都道府県の部分以外の空白も削除されてしまうので困っています

  • エクセル 複数の検索文字列を削除したいのですが。

     あるセルに住所が入力されているのですが、郡と町と大字と番地が一つのセルに入っています。  郡と町は、手作業で別のセルに入力できたので、残っている作業は、元のセルから郡と町を消去することなのですが、簡単に関数で別のセルに書き出せないでしょうか。  ただし、あるセルには郡と町、あるセルには町からの住所になっています。 例 セルQ2   中頭郡嘉手納町字嘉手納588  というセルと セルQ3   嘉手納町字嘉手納588     というセルがあります。 SUBSTITUTE関数かと思いましたが、一つの検索文字列なら空白にできましたが、2つの検索文字列は一括処理ってできるんでしょうか。 私が考えたのは、最初に任意のセルに =SUBSTITUTE(Q2,"中頭郡","")として中頭郡を消し、さらに別の任意のセルに =SUBSTITUTE(Q2,"嘉手納町","")として完全に郡と町を消す方法です。ですが、ちょっと要領が悪いですよね。 SUBSTITUTE関数の効率の良い計算式、もしくは、もっと別の方法で一発OKの方法はあるでしょうか。 もしかして、編集の「検索と置換」を使えばできるんでしょうか? この機能は、使ったことが無いので、使い方が分かりません。元データは残さなくていいので、別のセルに書き出さなくてもいいのです。 どなたか、ご教授願います。

  • エクセルで住所を項目毎の列に分割する方法

    住所を佐賀県唐津市大和町1丁目23番456号の形式で 一つのセルに入れています。 これを県、市、町のように項目毎に列に分割したいのですが、 簡単な方法はあるのでしょうか。 よろしくお願いします。

  • 筆まめ15 住所の文字数が多いと印刷が小さくなる

    筆まめVer15を使っています。 住所録を使ってはがきや封筒に貼る宛名ラベル印刷をしています。 1)**県**市***町**番**号  2)**県**市***町**番**号 **ビル2F(株)**** これまでは、1)の住所では問題なくプレビュー上でも 文字の大きさを自由に拡大させたり縮小が可能でしたが 2)のような住所だと拡大はおろか縮小もできなくて、固 定されてしまい、文字が多い分非常に小さく印刷されてし まいます。 1行に入れる文字数が多いために、このように小さくなる のかと思い、2行に分けて入力してもプレビューでは何ら 変化が無く、同じように小さく印刷されてしまいます。 どうすれば、文字数が多くても小さくならずに印刷をす ることができるのでしょうか?

  • 文字列の一部比較について

    エクセルで地区コードと住所の比較をしたいのですが =IF(EXACT(B2,C2),"同じ","違う") 例の様なセルB2とセルC2(一部)の比較はできるのでしょうか? 教えてください。 例     B       C             D  1  地区コード   住所 2   市原市    千葉県市原市八幡     同じ 3   中央区    千葉県千葉市中央区    同じ 4   東京都    東京都墨田区       同じ 5   市原市    千葉県千葉市稲毛区    違う

  • Excelで、文字列を含むセルの検索をしたい

    Excelで、文字列を含むセルの検索をしたいと思います。 列Aには、探したい文字列(市町村名)が800行入っています。 (1行目)○○市 (2行目)△△町 (3行目)□□□村 ・・・以下続く・・・ 列Bには、検索対象となる文字列(住所)が7000行入っています。 (1行目)XX県XX市XX-XX-XX (2行目)XX県○○市XXXXXX-XXX-X (3行目)XX府XXX郡□□□村XXX ・・・以下続く・・・ このとき、 「列Aにある文字列(市町村名)を含む列B(住所)のセル」を検索したいのです。 (上記の例の場合は2行目・3行目がヒット。) シートや列は追加してかまいません。 件数が多いため、どのように探すと効率的か見当がつきません。どなたかよい知恵をお貸しください。よろしくお願いします!

  • エクセルの住所文字列操作について

    東京都板橋区新町2-3-4のような住所の”区”や埼玉県川越市新町1-2-3のような”市”から後ろをとりだしたいとかんがえております。=RIGHT(E3,LEN(E3)-FIND("区",E3)) 区の取り出しには成功しました。これを区でも市でもとりだせるように変更したいのですが、どのようにしたらよいでしょうか?

  • エクセルで、列を連結するには

    エクセルの住所録で、 番号 マンション名 住所が、300行あります。この、番号、マンション名、住所を1つのセルに、1行づつ、300行全て、まとめたいのですが、どのようにすればできるでしょうか。

専門家に質問してみよう