• ベストアンサー

文字列を分割したい。

(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

  • 式で表示されている文字列の特定文字以前の文字を消す

    ”=”で別のセルの文字列を表示させているセルの特定の文字以前を消して表示する方法はありますか? =A2の式を入れて 神奈川県横浜市横浜区1丁目1-1 を表示させているセルの表示を 横浜市横浜区1丁目1-1 だけ表示させたい。みたいな感じです 拙い文章で申し訳ないですがよろしくお願いします。

  • 文字列のスペースを抜く方法

    エクセルで文字列の間にスペースが入っている文字列のスペースの抜き方を教えてください。 神奈川県 横浜市 TEL ××× 山田 太郎←この文字列のスペースを抜きたいんです。 こんな感じで、複数行に渡ったデータなので区切ることが出来ませんでした。 よろしくお願いします。

  • EXCEL2007で2列の入力内容を集計するには?

    EXCEL2007で、次のような集計をどうするかわからず、困っています。 たとえば、各入力行に、 ----- 東京都  杉並区 東京都  千代田区 神奈川県 瀬谷区 神奈川県 横浜市 東京都  千代田区 東京都  武蔵野市 東京都  杉並区 神奈川県 横浜市 東京都  千代田区 ----- ...のように、2列にそれぞれ文字列が入っているデータにおいて、2列の語句の組み合わせで一番多いものをカウントアップし、多いもの順に表示させたいのです。 上の例でいえば、 東京都  千代田区 3 東京都  杉並区 2 神奈川県 横浜市 2 東京都  武蔵野市 1 神奈川県 瀬谷区 1 のようにカウントしたものを作りたいのです。 2つの語句を結合してしまってからピボットテーブルを使えばできそう、とまではわかってきたのですが、できれば2列に分かれたまま集計したいです。 お知恵をお貸しください。

  • 文字列の返し方

       福岡県    北九州市     ↓ エクセルの一つのセルに2行に表示してある文字を 別のセルへ表示する時に、1行目の福岡県だけを 関数を使っての表示のさせ方を教えてください。 宜しくお願いしますm(__)m

  • エクセル2003によるsumifに複数バージョン

    エクセル2003で以下の条件の関数を作成したいと考えております。 教えて頂けないでしょうか? A列、B列、C列、D列があり。 求めたいのは、【A列が「100」に等しい かつ (B列に「東京」という文字が含まれる または C列に「横浜市」が含まれる)場合のD列の和】になります。 A    B    C     D 100 東京都  三鷹市  1200 100 神奈川県 横浜市  2000 200 東京都  三鷹市  1200 100 京都    京都市  1000 100 神奈川県 ああ横浜  100 の場合、計算したいセルには1200+2000+100の3300が表示されるようにしたいです。 SUMIF関数を使いましたが、うまくできません。 また2007ではない為SUMIFS関数もない状態で困っています。 教えて頂けませんでしょうか?

  • セル内のいろいろな文字列から特定の文字だけ抜き取りたいです。

    EXCEL関数で、 セル内のいろいろな文字列から特定の文字だけ抜き取りたいです。 例えば 「東京都渋谷区Excelビル」 「千葉県船橋市Excelセンタービル」 から 「Excel」 だけを抜き取りたいです。 どうしたらいいでしょうか? 教えてください。よろしく、お願いいたします。

  • 文字列を間引く方法

    EXCEL関数、あるいはマクロで下記の処理ができないでしょうか。    1列 1行 T20339636 2行 T20379678 3行 T20340013 のように各セルに9桁の文字列が設定されています。 各文字列の2桁目から5桁目までを間引き、下記のように 設定する。    1列 1行 T9636 2行 T9678 3行 T0013 ご教授のほど、よろしくお願いいたします。

  • Excel 住所の分割(文字数制限あり)

    Excelのシート1列に住所データがあり、これを30文字以内で収まらない場合は、次の列に20文字以内で、それでも収まらない場合はその次の列にデータを分割したいのですが、どうしたら良いでしょうか? 都道府県、市町村などの単位でスペースが入っていますが、最初の列は30文字以内なので単位としては細かすぎます。 またLEFT関数、MID関数を使用すると文字数は指定どおりになりますが、番地の途中や濁点などで列が変わったりしてしまいます。 適切な区切りもありつつ、文字数も守れるような方法はないでしょうか? <例> 神奈川県 横浜市 **区 *** 1-11-11 ****************D-301号室(48文字、スペースも1文字にひとまず数えました)       これを下記のように変換したい            ↓ 神奈川県 横浜市 **区 *** 1-11-11(30文字以内、このデータは24文字) ****マンション名等***** (1列目30文字に入りきらなかったので2列目20文字以内、このデータは16文字) D-301号室 (2列目20文字以内にも入らなかったので3列目) 以上、よろしくお願いします。

  • マクロを使って文字列を分類したい。

    マクロを使って、次の処理を行うマクロを作りたいのですが、 まず、漢字・ひらがな・カタカナ・数時・アルファベットを識別するコードの抽出方法と、コードの一覧がわかりません。 それから、文字列の処理の関数がなかなか思いつきません。 2年ほどマクロを使っていません。エクセルも2007になり、かなり勝手が違います。 できれば、マクロを示していただければありがたいのですが、 重要なヒントを示していただいても構いません。 ----------------------------------------------- セル(H、5)の中に、いろいろな文字列があります。 例えば、 「東京1月アメリカEUやまとChinaイギリス日本2009年おわり」 ですが、 これを 漢字をA列に1行から順に、 東京 月 日本 年 ひらがなをB列に1行から順に、 やまと おわり カタカナをC列に1行から順に、 アメリカ イギリス 数字をD列に1行から順に、 1 2009 アルファベットをE列に1行から順に、 EU China というように出力するマクロを作りたいのです。 よろしくお願いします。

  • EXCELで、文字列を任意の文字数毎に分割するには

    ≪やりたい内容と条件≫ ◆EXCELで、文字列を任意の文字数毎に分割したいです。 ◆文字列は、全角・半角・記号を含みます。 ◆1つのセルが半角80桁という制限があり、その上限を超えると、右の次のセルに流し込まれるようにしたいです。(A1は元の文字列1500桁くらい、以降B1,C1,D1,E1・・・という具合に流し込み) ≪試した内容≫ MIDB関数を見つけ挑戦しましたが、1つ目のセルはうまくいきますが、その後が出来ません。例えば、文字列が「・・・・・・abcあいうえお」となっていた場合、B1は「・・・・・・abcあいう」、C1は「 お」(「お」の前は、半角スペース)となります。 何かよい方法はないでしょうか。 一度に出来ないようであれば、A1-B1で残りの文字列が表示できれば、それ以降はまた関数を入れて一つ一つやっていきたいと思っています。 よろしくお願いいたします。

このQ&Aのポイント
  • win10からwin11へアップデートしたらブラザープリンタ(製品名:mfc-j990dn)が印刷を認識しない問題について相談します。
  • Windows11にアップデート後、mfc-j990dnの印刷が認識されなくなりました。何らかのエラーが発生しているようですが、具体的な経緯や試したことについて教えてください。
  • 関連するソフトやアプリなどの情報も教えていただけると助かります。また、接続方法や電話回線の種類についても教えてください。
回答を見る

専門家に質問してみよう