[[20210911102411]] 『終了時刻順に並び替える』(ドラクエ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『終了時刻順に並び替える』(ドラクエ)

    A       B        C      D        E        F        G       H         I        J         K        L            M         N
 1 [品名] [終了時刻]  [品名] [終了時刻]  [品名] [終了時刻]  [品名] [終了時刻]  [品名] [終了時刻]  [品名] [終了時刻]     [品名]  [終了時刻] 
 2 りんご    0:55     みかん    09:15   バナナ  2:55      ぶどう    08:15     なし    1:55      ぶどう    2:15          りんご    0:55   
 3 みかん    9:55     ぶどう    10:15   バナナ  4:55      ぶどう    09:15     いちご  3:55      いちご    5:15          なし      1:55   
 4 バナナ    10:55    みかん    13:15   ぶどう  5:55      なし      10:15     なし    6:55      いちご    6:15          ぶどう    2:15 
 5 りんご    16:55    みかん    14:15   バナナ  6:55      ぶどう    13:15     バナナ  10:55     いちご    15:15         バナナ   2:55        
 6 ぶどう    18:55    みかん    15:15   バナナ  10:55     ぶどう    16:15     なし    12:55     いちご    20:15         いちご    3:55     
 7 りんご    22:55    いちご    23:15   バナナ  19:55     バナナ    23:15     なし    15:55     ぶどう    22:15         バナナ   4:55   
                                                                                                                          いちご    5:15  
                                                                                                                          ぶどう   5:55   
 A〜L列に[品名]と[終了時刻]が記入されているとします。                                                                     いちご    6:15 
 これをN列に終了時刻順に並べ替え、該当する品名をM列に表示させたいと思います。                                             バナナ   6:55  
 終了時刻が同じであれば優先順位はB←D←F←H←J←Lとします。                                                               なし      6:55 
 ※実際の列はAの前、BとC、 DとE、 FとG、 HとI、 JとKの間に列が存在するのですが前行の終了時刻と次行の                           .       .                                                                                                         
 開始時刻が同じなので非表示としてます。  よろしくお願いいたします。            

< 使用 Excel:Excel2013、使用 OS:Windows10 >


>優先順位はB←D←F←H←J←Lとします。
Lが最優先なんですか?例ではBが優先されているようですけど。

いずれにせよ、優先される順に、
MN列に上からコピーして、
終了時刻でソートするだけだと思いますけど、
どこに詰まっているのですか?
教えて下さい。

(γ) 2021/09/11(土) 11:11


 >実際の列はAの前、BとC、 DとE、 FとG、 HとI、 JとKの間に列が存在するのですが
 >前行の終了時刻と次行の開始時刻が同じなので非表示としてます。 

 これはどういう意味?
 実際の表で説明してください。

 実際の表の行数、列数も明記のこと

 以上、確認だけ
(笑) 2021/09/11(土) 13:00

(γ)様 優先度は→が逆でした。Bが優先です。申し訳ございません。
(笑)様 実際の表はこれです。
 A       B       C      D          E        F       G           H        I        J           K        L        M           N         O       P          Q         R        S           T           U            
 1[開始時刻]  [品名] [終了時刻] [開始時刻] [品名] [終了時刻] [開始時刻] [品名] [終了時刻] [開始時刻] [品名] [終了時刻] [開始時刻] [品名] [終了時刻] [開始時刻] [品名] [終了時刻]     [品名]  [終了時刻] 
 2   0:10      りんご    0:55       0:15      みかん    9:15     0:10     バナナ  2:55        0:10     ぶどう    8:15       0:10      なし    1:55        0:10      ぶどう    2:15        りんご    0:55   
 3   0:55      みかん    9:55       9:15      ぶどう   10:15     2:55     バナナ  4:55        8:15     ぶどう    9:15       1:55      いちご  3:55        2:15      いちご    5:15        なし      1:55   
 4   9:55      バナナ    10:55     10:15      みかん   13:15     4:55     ぶどう  5:55        9:15     なし      10:15      3:55      なし    6:55        5:15      いちご    6:15        ぶどう    2:15 
 5  10:55      りんご    16:55     13:15      みかん   14:15     5:55     バナナ  6:55       10:15     ぶどう    13:15      6:55      バナナ  10:55       6:15      いちご    15:15       バナナ   2:55        
 6  16:55      ぶどう    18:55     14:15      みかん   15:15     6:55     バナナ  10:55      13:15     ぶどう    16:15     10:55      なし    12:55      15:15      いちご    20:15       いちご    3:55     
 7  18:55      りんご    22:55     15:15      いちご   23:15    10:55     バナナ  19:55      16:15     バナナ    23:15     12:55      なし    15:55      20:15      ぶどう    22:15       バナナ   4:55   
(ドラクエ) 2021/09/11(土) 14:54

質問再掲します。お答えをお待ちしています。
| いずれにせよ、優先される順に、
| MN列に上からコピーして、
| 終了時刻でソートするだけだと思いますけど、
| どこに詰まっているのですか?
(γ) 2021/09/11(土) 15:15

 ・A列は開始時刻?
 ・最後の品名に対する「開始時刻」が抜けているのは単なる間違い?
   実際はS列「開始時刻」、T列「品名」、U列「終了時刻」?
 ・U列、7行目までということでいいですか?

 作業列を使った数式でもいいのなら・・・
 V列に品名、W列に時刻

 W2 =AGGREGATE(15,6,$C$2:$U$7/(($C$2:$U$7<>"")*($C$1:$U$1="終了時刻")),ROW(A1))
 表示形式「時刻」

 作業列
 Y2 =AGGREGATE(15,6,(COLUMN($A$2:$U$7)*100+ROW($A$2:$A$7))/(($A$1:$U$1="終了時刻")*($A$2:$U$7=W2)),COUNTIF($W$2:W2,W2))
 表示形式「標準」

 V2 =INDEX(A:T,MOD(Y2,100),INT(Y2/100)-1)
 表示形式「標準」

 すべて43行目まで下コピー

 間違ってるかもしれません。
 検証はお任せします。

 ■ところで・・・
 開始時刻、品名、終了時刻をそれぞれ1列にまとめることはできないんですか?
 それならもっと簡単にできるでしょう。

 以上
(笑) 2021/09/11(土) 17:00 09/12(日)0:53 数式修正(W2の式、絶対参照になっていなかった)

>1列にまとめることはできないんですか?
暇なのでやってみました。
縦に整理したもの(左)を終了時刻を並べ替え(右)たものです。
U列はこのようにしたいのでしょうか。

     |[B]   |[C]     |[D]|[E]|[F]     |[G]   |[H]     
 [1] |品名  |終了時刻|   |   |開始時刻|品名  |終了時刻
 [2] |りんご|0:55    |   |   |0:10    |りんご|0:55    
 [3] |みかん|9:55    |   |   |0:10    |なし  |1:55    
 [4] |バナナ|10:55   |   |   |0:10    |ぶどう|2:15    
 [5] |りんご|16:55   |   |   |0:10    |バナナ|2:55    
 [6] |ぶどう|18:55   |   |   |1:55    |いちご|3:55    
 [7] |りんご|22:55   |   |   |2:55    |バナナ|4:55    
 [8] |みかん|9:15    |   |   |2:15    |いちご|5:15    
 [9] |ぶどう|10:15   |   |   |4:55    |ぶどう|5:55    
 [10]|みかん|13:15   |   |   |5:15    |いちご|6:15    
 [11]|みかん|14:15   |   |   |5:55    |バナナ|6:55    
 [12]|みかん|15:15   |   |   |3:55    |なし  |6:55    
 [13]|いちご|23:15   |   |   |0:10    |ぶどう|8:15    
 [14]|バナナ|2:55    |   |   |0:15    |みかん|9:15    
 [15]|バナナ|4:55    |   |   |8:15    |ぶどう|9:15    
 [16]|ぶどう|5:55    |   |   |0:55    |みかん|9:55    
 [17]|バナナ|6:55    |   |   |9:15    |ぶどう|10:15   
 [18]|バナナ|10:55   |   |   |9:15    |なし  |10:15   
 [19]|バナナ|19:55   |   |   |9:55    |バナナ|10:55   
 [20]|ぶどう|8:15    |   |   |6:55    |バナナ|10:55   
 [21]|ぶどう|9:15    |   |   |6:55    |バナナ|10:55   
 [22]|なし  |10:15   |   |   |10:55   |なし  |12:55   
 [23]|ぶどう|13:15   |   |   |10:15   |みかん|13:15   
 [24]|ぶどう|16:15   |   |   |10:15   |ぶどう|13:15   
 [25]|バナナ|23:15   |   |   |13:15   |みかん|14:15   
 [26]|なし  |1:55    |   |   |14:15   |みかん|15:15   
 [27]|いちご|3:55    |   |   |6:15    |いちご|15:15   
 [28]|なし  |6:55    |   |   |12:55   |なし  |15:55   
 [29]|バナナ|10:55   |   |   |13:15   |ぶどう|16:15   
 [30]|なし  |12:55   |   |   |10:55   |りんご|16:55   
 [31]|なし  |15:55   |   |   |16:55   |ぶどう|18:55   
 [32]|ぶどう|2:15    |   |   |10:55   |バナナ|19:55   
 [33]|いちご|5:15    |   |   |15:15   |いちご|20:15   
 [34]|いちご|6:15    |   |   |20:15   |ぶどう|22:15   
 [35]|いちご|15:15   |   |   |18:55   |りんご|22:55   
 [36]|いちご|20:15   |   |   |15:15   |いちご|23:15   
 [37]|ぶどう|22:15   |   |   |16:15   |バナナ|23:15  
(かんちがいかな) 2021/09/11(土) 21:32

 反応ありませんけど、一応・・・

 2021/09/11(土) 14:54 の表、誰か成形したんですかね?
 誰だか知りませんけど、既出の回答に影響するような改変はやめてもらいたい。

 左端の数字は行番号でしょ?
 A列は開始時刻ですよね?

 で、最後の2列はそこで並べ替えるってこと?
 元表は、最初の終了時刻が「C列」、最後の終了時刻が「R列」
「S列とT列」に並べ替え結果を表示、ということなら・・・

 T2 =AGGREGATE(15,6,$C$2:$R$7/(($C$2:$R$7<>"")*($C$1:$R$1="終了時刻")),ROW(A1))
 表示形式「時刻」

 作業列
 V2 =AGGREGATE(15,6,(COLUMN($C$2:$R$2)*100+ROW($C$2:$C$7))/(($C$2:$R$7=T2)*($C$1:$R$1="終了時刻")),COUNTIF($T$2:T2,T2))
 表示形式「標準」

 S2 =INDEX(A:Q,MOD(V2,100),INT(V2/100)-1)
 表示形式「標準」

 すべて37行目まで下コピー

 ■ついでに・・・
 元表を開始時刻・品名・終了時刻の「3列×37行」の表にできるのならそれに越したことはないです。
 並べ替えは数式も簡単になりますし
 もしくは品名・終了時刻のデータをコピーして別の列に貼り付け〜並べ替えの操作をマクロ記録してもいいでしょう。

 印刷用か何かで「18列×7行」の表が必要なら、それも元表から数式で作成することも可能。
 あくまでベースは「3列×37行」の表で。

 データは随時更新されるんですよね?
 それとも並べ替えは今回限りの作業?

 以上
(笑) 2021/09/12(日) 19:03

>2021/09/11(土) 14:54 の表、誰か成形したんですかね?
質問者自身とばかり思っていましたが。

(かんちがいかな) 2021/09/12(日) 19:26


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.