• ベストアンサー

★エクセル★規則に従って文章を分割し、各セルの文字数(バイト数)をスペース挿入により統一したい

A列に文字数さまざまの文章が入っており、これらの文章を規則に従い 2分割もしくは3分割したいのです。(英数字、記号は半角入力されています) まずA1の文章中の任意の場所に■の記号を入力するとします。 1.■の前半の方が後半よりも文字数が多い場合  ■後半の後ろにスペース挿入し、前半と文字数合わせる  この場合■の前半がB1セル、後半がC1セルに表示 2.■の後半の方が前半よりも文字数が多い場合  まず■の前の部分をD1セル、残った■から後ろの部分の中で前半部分(D1セルに入れたのと  同じ文字数部分できったもの)をE1セル、最後に残っている文章を先ほどと同じくスペース挿入によりD1セルと文字数統一しF1セルに表示 以上のように長い文章を関数で2分割or3分割したいのですが自分には無理です。 参考までに用途はラベル印刷ソフトで流し込むデータを作成する際使いたいと 思っています。お分かりになる方よろしくお願いします。

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

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

A1に文字列があるとき「B1とC1」「B1とC1とD1」に分割するようにしました。若干要望と異なりますが参考にしてください。補助セルを使った方が理解しやすいと思いますので適宜式を分割して試してください B1の式  =LEFT(A1,FIND("■",A1)-1) C1の式  =IF(FIND("■",A1)-1>LEN(A1)-FIND("■",A1),RIGHT(A1,LEN(A1)-FIND("■",A1))&REPT(" ",LEN(B1)-LEN(A1)+FIND("■",A1)),MID(A1,FIND("■",A1)+1,FIND("■",A1)-1)) D1の式  =IF(FIND("■",A1)-1>LEN(A1)-FIND("■",A1),"",RIGHT(A1,LEN(A1)-FIND("■",A1)*2+1))

excel110
質問者

お礼

ありがとうございます。参考にさせていただきます。

関連するQ&A

  • エクセルのセルを分割したい!

    エクセルのセルをスペースの前後で分割したいのですが、方法を教えてください。 A1にあいうえお かきくけこ と入力しているとして2つのセルに分けたいのですが・・・。 セルによって文字数が違うのでスペースを境にして分割したいのです。 どうぞよろしくお願い致します。

  • Excelでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにするには?

    エクセルでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにすることって出来ますか? 例えば、 A1セルに 123456 という数字が入っていた場合 123456 の後ろに半角スペースを6コつけて 「123456_ _ _ _ _ _ 」 いう風に。 B1セルに 山田太郎 という文字が入っていた場合 山田太郎のあとに全角スペースを5コ入れて 「山田太郎_ _ _ _ _ 」 セルの数字を入力すると半角又は全角スペースを決められている数だけ自動で入力されるようにしたいのですが 何かいい方法はないでしょうか? accessでマクロ使ったほうが簡単かもしれないんですが、accessあまり分からないので・・。 説明がわかりにくくて申し訳ないんですがよろしくお願いします!!

  • 1セルに含まれる特定文字の数に応じて挿入&分割したい

    C列にある1つのセルに含まれる特定文字の数をカウントし、そのセルの直下にカウントされた数に応じただけ行を挿入し、その上でB列のセルの内容を分割して記載することは可能でしょうか? 現在、A列(識別番号)、B列(正式名称)、C列(通称、別称、旧称etc)となっているデータなのですが、C列の1つのセルの中にはいくつもの通称、別称等が含まれています。 このC列のセルに記載される通称等のそれぞれの冒頭に"・"が付けられるという規則性しかありません。1つのセルに含まれる通称等の数(つまり"・"の数)は0から80と決まっていません。 なんとかしてこの"・"をカウントして行を挿入し、C列のセルを分割して正式名称と通称別称等が同一のB列に揃うようにしたいのですが、スキルに乏しく途方にくれています。 Office2003を使用ですがVBA等は一度も触ったことがありません。

  • エクセルの1セルの最大文字数はいくつ?

    エクセルの関数、TRIM、JIS、ASC等を実行したら、#VALUE!が出てしまいました。 文字列(かなり長い)をTRIMで空白を削除し、JISかASCで全角、半角を統一しようと試みました。 上手くいきそうな感じでしたが、その中の4セルに【#VALUE!】と表示されました。 大部分はその処理が正しく実行されているのに、その4つのセルは何故、どうして?? そのセルを調べたところ、そこにはかなり長い文章(文字数)が入力されていたので、半分くらいカットして再実行してみたら、今度は正しく処理されました。 1セルに入っている文章(文字数)が多すぎたのでしょうか?  1セルには何文字(バイト)が許容されるのか、また、1セルで何文字(バイト)以上の場合は、関数は使用できない(通用しない)などの決まりはあるのでしょうか? 今回の場合は、24件で列も30列ぐらいでしたので、【#VALUE!】のエラーも気が付きましたが、これが何百件、数百列となると、エラーに気が付かないかもしれません。(気が付きにくくなります。) 1セルに入力できるおおよその文字数(バイト)は、いったいどれくらいなのでしょうか? お分かりの方がいらっしゃいましたら、アドバイスお願いします。

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

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

  • Excel セル内の文字だけを取り出すには

    Excelの1つのセルに 01234 ABCDEFG のように、「数字5つ(固定)+半角スペース+(任意の数の)文字」 が入力されています。数値は必ず5桁と決まっていますが、 文字列の数はさまざまです。 関数で文字の部分だけ、別のセルに取り出したいのですが、 どの関数を使うとできますか?教えて下さい。 よろしくお願いします。

  • excelで文字数をスペースを除いてカウント

    シート内に入力した文字数をカウントしたいのですが、 1つのセルに『木村 拓哉』のように姓名の間に半角スペースが 入っています。この半角スペースを無視して文字数をカウントするには どのような関数が適していますか? LEN関数を使うと、スペースも1文字としてカウントされてしまいます。 宜しくお願い致します。

  • Excelの長い文字列をスペースで区切ってセルに?

    長い文字列が、スペースで区切られています。 このスペースを区切りにしてセルに分割する方法を教えてください。

  • セル内の文字をスペースによって分割するには?

    教えてください。 a1 に DX-09 1 SD-4 2 HPE-25 3 と、全角半角入り混じってスペースで区切られた文字が入っています。 これを、B1,C1,D1,E1,F1,G1にそれぞれDX-09,1,SD-4,2,HPE-25,3 と分割させたいです。 必ず半角スペースで区切られていますが、それぞれの文字の長さはマチマチです。 また、全角数字のも文字の長さは不定形です。 excel2010を使用しています。 お知恵を貸してください。

  • EXCELのセル内検索に文字数上限?

    EXCEL2003の各セルに多くの文字数を入力しているのですが、 検索を掛けても、該当の文字がセル内にあるにも関わらず 検出されないことがあります。(その文字がセル内の後半にあることが多いように思います。) 検索で検出される文字数はセル単位で 上限があったりするのでしょうか? 例えば、「apple」を検索する場合、 セルの初めから100文字以内にすべての文字が入っていれば検出されるが、 101文字以降にどれかの文字が掛かってしまっていると検出されない、等。 ご存知の方、回答をお願いします。