プロが教えるわが家の防犯対策術!

例えばひとつのセルに改行がされていて
A1のセルに
12
34
56

というように三行があったとしてこれを
A1に 12
A2に 34
A3に 56

とひとつのものでひとつのセルというように分けるには何か方法ありますでしょうか?

同じ改行の文が数百個あるので何か簡単に変換できる方法があれば幸いなのですが・・。

A 回答 (4件)

泥臭いですが、A,B、C列の各1行目に対象のデータが横に並んでいるという想定で、A2、A3・・・に各行を表示することを考えてみました。

(マクロにしたほうが簡単ですが)

(1)A2に =IF(A20<>A21,MID(A$1,A20+1,A21-A20-1),"") を入力
(2)A21に =IF(ISERROR(SEARCH(CHAR(10),A$1,A20+1)),LEN(A$1)+1,SEARCH(CHAR(10),A$1,A20+1)) を入力
(3)A2を選択し、A19までドラッグ(式をコピー)
(4)A21を選択し、A39までドラッグ(式をコピー)
(5)以上で1列分できるので、A2からA35を選択し、必要な列までドラッグ(式をコピー)

<説明>
A1に続くA2、A3・・・にA1の内容のうち各1行ずつが表示されます。
A21行から下は計算用の数値ですが、改行コードの文字数(番号)が示されます。
対象文字の改行は18個程度までと仮定しています。(多い場合はA21の行を下にずらす)
20行(横1列)は未入力状態であることが必要です。(計算に使用しています)
    • good
    • 0

泥臭いですが、次の方法は如何でしょうか。


■先ず、A列の改行データをB列以降区切る
(1)A列選択→データ→区切り位置→「カンマ・・・」にチェック→次へ→「その他」にチェック、右隣枠にctrl+Jキー同時押下→完了
■列を行に置き換える
(2)仮に改行データを3行分として、空き列(仮にF列)のF1(#A1)、F2(#B1)、F3(#C1)としてF1:F3を選択して下方向にコピー
  改行データが均一でない場合、最大の区切り列分として下さい
(3)コピー範囲を選択→編集→置換→検索文字列を#、置換文字列を=→全て置換
■データを調整する
(4)置換範囲を選択→コピー→A列を選択→形式を選択して貼り付け→値を選択→OK
(注)改行データが可変の場合、余分セルが存在しますので貼り付け後、A列にオートフィルタを掛けて「0」選択、抽出行を削除して下さい。

  
    • good
    • 0

改行対象の文字数が同じならば、比較的楽かもしれません。


例示されているように、2桁数字+2桁数字+2桁数字 のように定型ならば、#1さんご回答の通り、Right関数、Left関数などを使うのが早いでしょう。

ただ、それらがバラバラの場合は困ってしまいます。
その場合には以下をお試しください。

●●念のため、元データはバックアップを取ってから試してください。●●

【1】処理対象となるデータ範囲を選択。

【2】Ctrl+F → Alt+P で置換に行きます。
  上の窓(検索する文字列)にカーソルを合わせ、Ctrlキーと「J」を入力します。何も表示されませんが入力するだけ。
  下の窓(置換後の文字列)にカーソルを合わせ、スペースキーを押す。
※Ctrl+J は改行を示す。つまり、改行を検索してそれを何か(今回はスペース)に置換しています。詳細は参考URLを。


【3】Alt + A(すべて置換)。

【4】そしたら、すべての改行がスペースに置き換えられ、一行のデータに変わったと思います。
(変わってないように見えるなら、列幅を広げれば確認できます)

【5】Alt+D(データ)→ E(区切り位置)

【6】「カンマやタブなどの~~」が選ばれてると思いますが、「次へ」

【7】「区切り文字」では、「スペース」にチェックを入れる。「次へ」

【8】「表示先」には、分解した結果を表示したいセルを指定してください。

【9】 「完了」

これで目的のことが出来るのではないでしょうか。
「簡単に出来る」とお感じになるかどうかはわかりませんが。

********************************************************
・なお、上記【2】で置換後を「スペース」としましたが、これで都合が悪い場合は、【7】で選択できる他の文字としても良いでしょう。

・処理対象セルが複数列にまたがっている場合は、一つの列ずつしか処理できませんので、複数回処理しましょう。
処理対象セルが縦にずらーっと並んでいる状態なら楽です。

・2回目以降の【2】のプロセスで「検索対象が見つからない」エラーが出たら、上下の窓で一回Deleteしてから、再入力してみてください。
目に見えないだけに、Ctrl+J を2回以上入力している可能性があります。

※ご参考URL
上記【2】部分の説明
http://pc.nikkeibp.co.jp/article/NPC/20070626/27 …
    • good
    • 0

データ>区切り位置


ここから、区切り位置指定ウィザードを使う。

文字数が同じなら、left関数やright関数で切りだす。

など、出来るのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!