- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
(1)>を時間が早い順に並び替え 日の前後を無視して、時刻で並べ替えたいということか。 エクセルのソートは、セルの値のデータによって並べ替えられるものです。一部ふりがななど、そうで無いように、見える場合があるが、エクセルが裏で特別に細工してフリガナを使っている。 だから時刻データを別列に作らないといけない。 例データ A2セル 2009/11/1 10:20 =A2-DATE(YEAR(A2),MONTH(A2),DAY(A2)) 結果 書式を時刻メニューの13:30にして 10:20 これ(時刻)はセルの値としては小数点以下の数(24時間が1に当たる)なので、そのつもりで並べ替えできる。 ーー (2)そもそもE列は、日付・時刻シリアル値のデータなのか、文字列なのか、認識して、質問に書いておくべきです。 ここまで表示されていると言うことは、文字列で入力されているとは考えにくいが、この辺の理屈を知らない質問者は、この点無頓着な質問が多い。 文字列なら「日」より最後までの文字列をTIMEVALUEで時刻に変える 例 A4に 11月20日 11時35分 式 =TIMEVALUE((RIGHT(A4,LEN(A4)-FIND("日",A4)-1))) 表示形式を時刻に設定して 11:35
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! E列は文字列になっているわけですよね? 一番良いのはシリアル値に置き換えて、並び替えする方法ではないでしょうか。 シリアル値に変換する方法は色々あるかと思いますが・・・ 一例です。 F列を作業用の列とさせてもらいます。 ↓の画像でF2セルに =IF(E2="","",TEXT(LEFT(E2,FIND("日",E2)),"mm/dd")*1+TEXT(MID(E2,FIND("日",E2)+1,6),"hh:mm")*1) という数式を入れ、オートフィルで下へコピーします。 これでE列がシリアル値で表示されますので F列のデータで並び替えをしてみてはどうでしょうか? 尚、余計なお世話かもしれませんが、F列が単に数値の羅列でいやであれば非表示にするか もしくは、セルの書式設定の表示形式のユーザー定義から mm"月"dd"日"hh"時"mm"分" とすれば 「11月18日22時00分」 のように表示されます。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m
- MackyNo1
- ベストアンサー率53% (1521/2850)
そのまま、並べ替えの操作を行ってもうまくいかないということでしょうか? その場合は、日付と時刻のデータが文字列として入力されています。 並べ替えを行うにはシリアル値に変換する必要があります。 画像だけでは、どのように入力されているかわからないのですが、たとえば全角数字や空白セルが混入しているならF1セルに以下の式を入力して下方向にオートフィルし、日付と時刻のシリアル値に変換して並べ替えてください(必要なら元データの上に「形式を選択して貼り付け」で「値」貼り付けします)。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(ASC(E1)," ",""),"月","/"),"日"," "),"時",":"),"分","")*1 E列と同じような表示にするには、セルの書式の表示形式をユーザー定義にして「m"月"d"日" h"時"m"分"」などとしてください。
下のURLを参考にしてください。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/sort.html