
No.4ベストアンサー
- 回答日時:
こんにちは
対象の時刻はシリアル値と仮定します。
作業列を用意し、「時刻+17時間」を計算して、その時刻部分だけを取り出します。
(シリアル値の少数点以下だけを取り出すか、一旦文字列表示にして再度時刻化するなど)
これによって、
7:00:00 → 0:00:00
6:59:59 → 23:59:59
に置き換わることになりますので、この作業列の値をキーにして並べ替えれば宜しいかと。
上記は手操作で行っても大したことはないと思いますが、そのまんまの処理をマクロ化するなら以下のような感じでしょうか。
(対象範囲はQ列の最終行までとしてあります)
Sub Sample()
Const targetCol = "Q1"
Set rg = Range(targetCol)
rg.Offset(, 1).EntireColumn.Insert
Set rg = rg.Resize(Cells(Rows.Count, rg.Column).End(xlUp).Row)
rg.Offset(, 1).FormulaR1C1 = "=TIMEVALUE(TEXT(RC[-1]+17/24,""h:m:s""))"
rg.Resize(, 2).Sort key1:=rg.Offset(, 1), order1:=xlAscending
rg.Offset(, 1).EntireColumn.Delete
End Sub
No.7
- 回答日時:
作業列を用意する方法やマクロでの設定による回答がありますが、
色による並べ替えを使う方法も検討されてはいかが。
http://www4.synapse.ne.jp/yone/excel2010/excel20 …
設定手順の例
時刻が入っているQ列に[条件付き書式]を設定します。
=Q2<TIME(7,0,0)
[塗りつぶしの色]を判りやすい色で設定。
これで、7:00:00未満の時刻のセルに色がついています。
[並べ替え]ダイアログにて[並べ替えのキー]で[セルの色]を指定、
[セルの色なし]が[上]になるようにし[ OK ]します。
これで7時始まりの並べ替えができていると思います。
条件付き書式の色を淡い色にすれば、気になるようなこともないと
思いますので、試してみてください。

No.6
- 回答日時:
少し勘違いが含まれがちな内容なので補足を入れておきます
通常時間をソートする場合記載の通り「0:00:00」~「23:59:59」となりますが、これに補数を加えても結果は変わりません。その理由は加算した値が「23:59:59」を超える場合にはDATETIMEとしては翌日になるからです。
以上を踏まえて検討した数式は
=IF(Q2<TIMEVALUE("7:00"),Q2+"41:00",Q2+"17:00")
時間がQ2にあるものと想定して、7時未満の時には翌日の時間を、それ以外の時には当日の時間になるように設定しています。表示形式を日付を含む形にしていただくと結果が分かりやすいかと思いますが、「YYYY/MM/DD HH:MM」で表記すると全て1900/01/01の時刻で補正する形となっています。
こちらの関数をR列にでも記載して、並べ替えを行えば問題ないかと思います。
No.5
- 回答日時:
こんにちは!
VBAになりますが、一例です。
尚、データはA列からあり1行目が項目行になっているという前提です。
Sub Sample1()
Dim lastRow As Long, lastCol As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column+1
Columns(lastCol).Insert
Cells(1, lastCol) = "ダミー"
With Range(Cells(2, lastCol), Cells(lastRow, lastCol))
.Formula = "=Q2+IF(Q2<""7:00""*1,1)"
.Value = .Value
End With
Range("A1").CurrentRegion.Sort key1:=Cells(1, lastCol), order1:=xlAscending, Header:=xlYes
Columns(lastCol).Delete
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.3
- 回答日時:
こういった物でも 構わないのですか?
作業セルでは、
0:00:00〜23:59:59
なのだけど、
表示セルで 作業セルを、
参照する際に、
7/24を 足しては、
どうでしょうか?

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
- その他(ソフトウェア) Googleスプレッドシートについて 5 2022/05/07 11:46
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- Excel(エクセル) Excelについて 3 2023/07/12 17:47
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) Excel 同一セル内 年、日 入れ替え 5 2022/04/09 01:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
excel 小さすぎて見えないセル...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル マクロ オートフィ...
-
特定の文字がある行以外を削除...
-
Excelで非表示のセルをとばして...
-
エクセルVBA 最終行を選んで並...
-
A1に入力された文字列と同じ文...
-
excelのデータで色つき行の抽出...
-
エクセル 時間の表示形式AM/PM...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
Excel VBA 異なるファイルのシ...
-
エクセルマクロ オートSUM(合...
-
エクセル2016で時間を入力して...
-
Excelマクロ 期間を指定してデ...
-
Excel2007で、指定範囲の行高さ...
-
Excelのフィルター後の一番上の...
-
Excelで結合されたセルの間に列...
-
連続データが入った行の一番右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル 上下で列幅を変えるには
-
[EXCEL]ボタン押す→時刻が表に...
-
Excelのフィルター後の一番上の...
-
エクセルで特定の文字列が入っ...
-
excelのデータで色つき行の抽出...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
結合されたセルをプルダウンの...
-
エクセル マクロ オートフィ...
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
電話番号の入力方式が違うデー...
-
エクセルVBA 最終行を選んで並...
-
エクセルのセルに指定画像(.jpg...
-
エクセル 時間の表示形式AM/PM...
-
連続データが入った行の一番右...
-
Excelで非表示のセルをとばして...
おすすめ情報