[[20080617110955]] 『別シートにランキングを』(UXILE) ページの最後に飛ぶ

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

 

『別シートにランキングを』(UXILE)

 すいませんがお尋ねします。
 とある試技の時間を計測した下記のような表があります。
 1日に2回〜4回程度行っています。

     A       B        C        D        E    
  	  1回目	  2回目	  3回目	  4回目
 1  6/1	07:47.32	07:27.00	10:07.96	14:20.40
 2  6/2	07:03.56	06:52.33	06:43.04	
 3  6/3	06:59.40	06:54.10	
 4  6/4	07:10.24	06:51.26	14:12.62	07:52.47
 5  6/5	07:48.20	07:30.85	13:42.53	
 6  6/6	07:33.45	07:28.63	14:31.93	09:37.06
 7  6/7	07:07.43	06:55.63	06:45.90	07:36.82
 8  6/8	06:59.70	06:39.00	09:17.84	07:35.87
 9  6/9	06:27.90	06:57.95	08:49.71	
 10 6/10	06:45.27	06:37.43	09:06.92	07:22.50
 11 6/11	07:38.58	13:44.35	09:52.10	07:26.98
 12 6/12	07:29.47	07:27.86	13:51.63	07:21.24
 13 6/13	07:41.68	07:36.48	07:30.58	07:35.66
 14 6/14	07:18.26	07:05.05	07:13.00	07:31.43
 15 6/15	07:11.40	06:48.33	13:32.06	
 16 6/16	07:09.79	07:06.64	06:57.47	07:22.54
 17 6/17	06:49.42	06:47.82	14:36.13	07:20.70  
 18 6/18	06:58.39	07:01.00		

 この時間を別シートに早い順に表示したいのですが、

    A      B    C     D
 1 順位 時間 月日 回数
 2 1
 3 2
 4 3
 5 4
 6 5
 7 6
 8 7

 出来れば、上記のように1位が何分何秒でいつの何回目かまで表示したいのですが、
 上手く出来ますでしょうか?
 宜しくお願い致します。

 こんにちは〜♪

 Sheet1 ↓ は、こんな表で19行目までデータがある場合。。。

 ┌─┬─────┬──────┬─────┬─────┬─────┐
 │  │    A     │     B      │    C     │    D     │    E     │
 ├─┼─────┼──────┼─────┼─────┼─────┤
 │ 1│          │  1回目     │  2回目   │  3回目   │  4回目   │
 ├─┼─────┼──────┼─────┼─────┼─────┤
 │ 2│    6月1日│     07:47.3│   07:27.0│   10:08.0│   14:20.4│
 ├─┼─────┼──────┼─────┼─────┼─────┤
 │ 3│    6月2日│     07:03.6│   06:52.3│   06:43.0│          │
 ├─┼─────┼──────┼─────┼─────┼─────┤
 │ 4│    6月3日│     06:59.4│   06:54.1│          │          │
 └─┴─────┴──────┴─────┴─────┴─────┘

 別シートは、こんな表の場合です。。。

 ┌─┬────┬────┬────┬────┐
 │  │   A    │   B    │   C    │   D    │
 ├─┼────┼────┼────┼────┤
 │ 1│順位    │時間    │月日    │回数    │
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:27.│        │        │
 │ 2│       1│9       │  6月9日│       1│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:37.│        │        │
 │ 3│       2│4       │ 6月10日│       2│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:39.│        │        │
 │ 4│       3│0       │  6月8日│       2│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:43.│        │        │
 │ 5│       4│0       │  6月2日│       3│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:45.│        │        │
 │ 6│       5│3       │ 6月10日│       1│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:45.│        │        │
 │ 7│       6│9       │  6月7日│       3│
 ├─┼────┼────┼────┼────┤
 │  │        │0:06:47.│        │        │
 │ 8│       7│8       │ 6月17日│       2│
 └─┴────┴────┴────┴────┘

 >早い順に表示したいのですが、

 同じタイムが、無い場合です。。。

 ★いろいろな式が、ありますけれど。。。

 B2セルへ
 =SMALL(Sheet1!$B$2:$E$19,A2)

 C2セルへ
 =SUMPRODUCT((Sheet1!$B$2:$E$19=B2)*Sheet1!$A$2:$A$19)

 D2セルへ
 =SUMPRODUCT((Sheet1!$B$2:$E$19=B2)*COLUMN(A:D))

 それぞれ下へコピー。。。

 ご参考にどうぞ。。。

 同じタイムがある場合は、チョット式も難しくなります。。。

 。。。Ms.Rin〜♪♪


 んじゃぁ、お先に同タイムが存在する場合をw
誤差が出そうなので、なんが〜い式でしか作れませんでしたけど。。。

 早い時間を先に求めて、その値をベースに他の要素を出してます。
また、元データはSheet1のA1:E32にあり、1行目が見出しとして考えてます。

 Sheet2のB2セルに
=IF(COUNT(Sheet1!$B$2:$E$32)>=ROW(A1),SMALL(Sheet1!$B$2:$E$32,ROW(A1)),"")

 Sheet2のA2セルに
=IF(COUNT(B2),RANK(B2,B:B,1),"")

 Sheet2のC2セルに(改行してます)
=IF(COUNT($B2),INDEX(Sheet1!$A$1:$A$32,
SMALL(INDEX(ROW(Sheet1!$A$1:$A$32)*(TEXT(Sheet1!$B$1:$E$32,"mm:ss.0")=TEXT(B2,"mm:ss.0")),0),
SUMPRODUCT(N(TEXT(Sheet1!$B$1:$E$32,"mm:ss.0")<>TEXT(B2,"mm:ss.0")))
+SUMPRODUCT(N(TEXT(Sheet2!$B$1:B2,"mm:ss.0")=TEXT(B2,"mm:ss.0"))))),"")

 Sheet2のD2セルに(改行してます)
=IF(COUNT(B2),INDEX(Sheet1!$B$1:$E$1,
MATCH(TEXT(B2,"mm:ss.0"),
INDEX(TEXT(OFFSET(Sheet1!$A$1,MATCH(C2,Sheet1!$A$2:$A$32,0),1,1,4),"mm:ss.0"),0),0)),"")
A2:D2をコピーし、125行目ぐらいにまで貼り付け。
(sin)

 ありがとうございます。
 同タイムが今の所ありませんでしたので。。。Ms.Rin〜♪♪様参照させていただきました。
 助かりました、お礼申し上げます。
 (sin)様ご丁寧にご指導頂き恐縮です。
 タイム的に100分の1秒まで表示していますので、同じタイムになるのは稀と思いますが
 万が一発生した時の為大事にとっておきたいと思います。


 申し訳ございませんが再びご教授願います。
 同タイムを考慮した場合で

 =IF(COUNT(Sheet1!$B$2:$E$32)>=ROW(A1),SMALL(Sheet1!$B$2:$E$32,ROW(A1)),"")

 この関数を入力してみたのですが、
 空欄(0:00.00)を1位として表示されてしまいます。

 対処法がございましたら宜しく御願い致します。

 (UXILE)

 こちらでは、ちゃんと出てますが???
こんな↓式を空いてるセルに入れると何が返りますか?
A:=COUNTBLANK(Sheet1!$B$2:$E$32)
B:=COUNTIF(Sheet1!$B$2:$E$32,0)
また、実際の空欄セルの数との差はどうですか?

 すぐに返事が出来ないか可能性もあるので、
A:空欄セルの数とAの結果とが同じ場合は、
 もう一度入力した一番上のセルの式が間違っていないか、ご確認ください。
B:戻り値が1以上の場合、空欄でなく0が入っている事になります。
 見た目空欄の場合は、【ツール】-【オプション】-表示タブ-ウインドウ オプションの
 ゼロ値のチェックを外していると思われます。
 この場合は、SMALL(Sheet1!$B$2:$E$32,COUNTIF(Sheet1!$B$2:$E$32,0)+ROW(A1)),"")
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~これを追加してください。
(sin)

 申し訳ございませんでした。
 ゼロ値のチェックが外れてました。

 無事解決しました、迅速且つ丁寧なご指導ありがとうございます。
 又何かございましたらご指導のほど宜しくお願い致します。

 (UXILE)

コメント返信:

[ 一覧(最新更新順) ]


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