• ベストアンサー

文字列を分割したい。

(A1)のセルにある文字列は、数個の文字列をスペース(半角)を開けて配置しています。 (2行目以下も同様の多種の文字列があります。) サンプル 「学校 東京 神奈川県横浜市 ABC アメリカ」 これを、 1行目のセルに関数を用いて、 (B1)に「学校」 (C1)に「東京」 (D1)に「神奈川県横浜市」 (E1)に「ABC」 (F1)に「アメリカ」 と表示したいのです。 関数で処理できましたら、その関数式を教えてください。 関数で処理できない場合は、マクロを教えていただければありがたいです。 よろしくお願いします。 ※エクセルの「区切り位置]機能を試しましたが、うまくいかないようです。

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

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

http://www.becoolusers.com/excel/text-to-columns.html もう一度区切り位置で挑戦してみてください。 掲示されているデータならできるはずなんですが、元データの選択で[カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ]を選択していますか? スペースなどが区切り文字が入っていない場合は、固定長フィールドで自分自身で区切る位置を設定することになりますが、その場合は文字数で区切られてしまうので、複数列を同時に行う場合には適していません。

その他の回答 (4)

noname#204879
noname#204879
回答No.5

1.お示しのサンプルは5項目から成っていますが、この項目数は一定   ですか、それとも不定(4項目があったり、7項目があったりす   る)ですか? 2.すべての項目は全角文字のみですか? 3.半角文字も混在しているなら、最終的にそれらを全角文字に統一し   ても構いませんか?

  • SePapa
  • ベストアンサー率50% (47/94)
回答No.3

こんにちは。 区切り文字が必ず半角スペースであるという ルールが守られているなら区切り位置機能で 分割可能です。 もし、この機能でできないということであれば マクロを使ったとしても、結局スペース区切りで 判定することとなりますから、同じように期待せぬ結果となる 可能性が高いと思われます。 うまくいかない理由はいろいろありますが 一例を以下に記載しますので、確認してみてください。 ・半角スペースが2つ続いている箇所があるかもしれない  →A列選択し半角スペース2つを半角スペース1つに   一括置換します。 ・半角スペースが全角スペースとなっているかもしれない  →A列選択し全角スペースを半角スペースに   一括置換します。 区切り位置機能の手順を以下に記載しますので 上記を試してみた上で再度やってみてください。 ・A列を選択して区切り位置機能の画面を開く ・元のデータ形式で「スペースによって・・・」を選択して次へ ・フィールド幅は必要に応じて変更し、次へ ・表示先に「=$B:$B」を指定して完了 以上、ご参考まで。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

「区切り位置」で できないのはおかしいですよ 区切り文字に "半角スペース" を指定または設定するだけです A列の文字を5つに分けるのであれば、F列まで空白の列を用意しておく必要があります 分けられた文字で上書きしても良いのであれば、そのままでもOK 上手くできないということは見た目は半角スペースでも、実は半角スペースではないとも考えられます その場合、関数やマクロで分割を試みても同じ結果になると思います (分割できない) いずれにせよ、「区切り位置」でどのようになるのかを示してもらわなければ 不確定な回答になってしまうと思います 意外と半角スペースで区切ったつもりが全角スペースになっているとか 半角スペースを二つ続けて入力していたり… それでも関数で回答するのであれば SEARCH関数で半角スペースの位置を検索して MID関数で文字を抜き出す ことになると思います けっこう面倒な関数式になりますからお薦めできません

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

>※エクセルの「区切り位置]機能を試しましたが、うまくいかないようです。 どう上手くなかったのでしょうか? 推測ですが、区切り位置ウイザード1/3で、「表示先」を B1 にしましたか?

関連するQ&A