• ベストアンサー

EXCEL関数 セル内の改行を認識できますか?

いつも大変お世話になっております。 一度はあきらめかけたのですが、もし方法があったら教えてください。 セルの中に以下のような入力があります。 10/1-5 10/6-10 上記はひとつのセルの中で改行されています。 これを以下のように分解することは可能でしょうか。 2008/10/1 2008/10/5 2008/10/6 2008/10/10 今度は4つのセルに分かれます。 関数でなんとかならないかと思ったのですが、どうしても改行がダメのようです。 (認識しません) またセルの中には4つの日付があるとは限らず、ひとつの場合もあります。 10/20 この場合は 2008/10/20 2008/10/20 となります。。。やはり無理でしょうか。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

10/1-5 10/6-10 と入っているセルを選択して、ツールバーのfxのところで選択コピィします。 別途貼り付けるセルの書式を文字列にして、貼り付けたら 10/1-5 10/6-10 の2行になりました。 関数でしたら A列に 2行データがあるとして B1セルに =LEFT(A1,FIND(CHAR(10),A1)-1) C1セルに =RIGHT(A1,LEN(A1)-FIND(CHAR(10),A1)) D1セルに =LEFT(B1,FIND("-",B1)-1)*1 書式を日付 F1セルに =(LEFT(B1,FIND("/",B1))&RIGHT(B1,LEN(B1)-FIND("-",B1)))*1 書式を日付 以下同様に G列、H列で後半を日付で表示して下へコピィ

sunu0911
質問者

お礼

ありがとうございます! ほぼ解決しました。 必ず2期間あるわけではないので、その場合のエラー対策を仕込めば関数で解決できそうです。 何度か質問をさせていただいていますが、そのたびにとても勉強になります。 ありがとうございました。

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

CHAR(10) では?

sunu0911
質問者

お礼

読めました!ありがとうございます。 分割がんばってみます・・・。^^;

回答No.1

10/1-5 10/6-10 上記の例で改行位置は、=find(char(13),A1) で「7」となります。 あとは頑張って分離して下さい。

sunu0911
質問者

補足

回答ありがとうございます。 Charを使うと改行マークが読み取れるということでしょうか。 そういう方法があったんですね・・・。 が、計算式をそのまま移してみたところエラーになってしまいました。 (#VALUE!) 読み取れていないということでしょうか・・・。 いただいた式をそのままコピーして、A1を実際のセルに変更した だけなのですが・・・。

関連するQ&A