• ベストアンサー

テキストデータを日付順に並べ替えたい

テキストデータを日付順に並べ替えたい どのようなデータと言いますと。 果物 ("さくらんぼ" "2010-9-11") 果物 ("ぶどう" "2005-3-26") 果物 ("みかん" "2010-8-1") 果物 ("りんご" "2009-1-11") の様に一行に名詞か何かがあってその後ろに日付が表示されています。 これを日付順にしたいのですが、1000行以上あるので1行づつ何か操作するのは大変です。 何か簡単に日付順にする方法はないでしょうか。word・Excelはあります。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

エクセルで読み込んで メニューのデータ→区切り位置 カンマやタブなどの…云々 をチェックして次へ 区切り文字でスペースを追加する 次へで C列のデータを日付にする ABC列全て選択 優先されるキーをC列にし並び替えする

harmaki3453
質問者

お礼

おお!できました。スペースで分割なんてあるんですね。 望みどおりの動作が出来ました。ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です! たびたびごめんなさい。 前回の数式では仮に 2010/4/10 と 2010/10/10 の場合のように月・日の桁数が違う場合は 正確な並び替えができないと思います。 B1セルの数式を↓の式に変更してください。 =TEXT(MID(A1,MATCH(TRUE,ISNUMBER(MID(A1,ROW($A$1:$A$30),1)*1),0),COUNT(MID(A1,ROW($A$1:$A$30),1)*1)+2),"yyyy/mm/dd") これも前回同様配列数式になりますので、操作方法は一緒です。 これで日付の桁数がすべて揃うと思いますので、このデータで並び替えを行ってみてください。 何度も失礼しました。m(__)m

harmaki3453
質問者

お礼

この式を入力して日付が正常に表示されました。こういう方法もあるのですね。 しかし関数などExcelは学んでないのでちょいと難しいですね。^^;

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 数値は品物等についていなくて、日付データのみの場合です。 一例です。 データをExcelにコピー&ペーストします。 A1セルからA列にデータが入ると思います。 B1セルに =MID(A1,MATCH(TRUE,ISNUMBER(MID(A1,ROW($A$1:$A$30),1)*1),0),10) これは配列数式になってしまいますので、この画面からB1セルにコピー&ペーストしただけではエラーになると思います。 B1セルに貼り付け後、F2キーを押す、またはB1セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このB1セルのフィルハンドルの(+)マークでダブルクリック! これで日付データのみがB列に表示されると思います。 (日付データの文字数によっては最後に括弧「)」や「"」が表示されると思いますが、そのままでOKです) A1セル~B列の最後まで範囲指定 → B列の昇順で並び替え 最後にB列すべてを削除して完了です。 参考になればよいのですが 他に良い方法があればごめんなさいね。m(__)m

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

エクセルのA1セルには品名とか入力し、A2セルから下方にテキストのデータをコピーして貼り付けます。 B1セルには日付とでも入力しB2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",MID(TRIM(A2),FIND(" ",TRIM(A2))+2,FIND(""")",TRIM(A2))-FIND(" ",TRIM(A2))-2)*1) その後にB列を選択して「ホーム」タブの「並び替えとフィルタ」から「昇順」を選択します。 表示の画面で「選択範囲を拡張する」にチェックがありますのでそのまま「並び替え」をクリックします。 A列では日付順に並びます。

harmaki3453
質問者

お礼

式をいれると40432などの数値が出てきましたがこれでいいのでしょうか。 とりあえず並べ替えでは問題なく動作します。

すると、全ての回答が全文表示されます。
  • f272
  • ベストアンサー率46% (8651/18505)
回答No.2

1.エクセルに貼り付けます。 2.隣の列にコピーを作って、それを区切り位置ウィザードを使って文字列をうまく切れば日付だけの列を作れます。 3.日付だけの列をキーにして、元の文字列と一緒に並べ替えをします。 4.元の文字列が並べ替えられたら、そこだけコピーしてテキストファイルに貼り付けます。

harmaki3453
質問者

お礼

出来ました。Excelは面倒なことも出来るので便利です

すると、全ての回答が全文表示されます。

関連するQ&A