advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2688 for 並べ替え (0.002 sec.)
[[20090515232142]]
#score: 4562
@digest: f4489918a0711a6fab66477fbfe03261
@id: 43437
@mdate: 2009-05-21T11:14:06Z
@size: 22009
@type: text/plain
#keywords: 20080921 (426291), 20070901 (406255), ウヨ (168346), 20080406 (123558), 新潟 (96556), 馬名 (90150), ヨウ (84935), 潟マ (82481), 幌コ (73808), ムザ (69740), 20070804 (66427), ザヒ (66427), ウサ (65651), 号競 (61991), サル (60074), ド馬 (56859), チノ (55787), 札幌 (53038), ポコ (49224), 場コ (44151), コウ (43234), ノス (42048), ー20 (41276), 中山 (35426), 馬場 (35382), 日レ (34021), イネ (33240), アム (30814), 競馬 (26267), サチ (24497), ス番 (23602), ト20 (21974)
『複数項目の並び替え』(ポロン)
以下のような競馬データがあります。 年月日 レース番号 競馬場コード 馬名 20070901 08 札幌 アートオブウォー 20070128 09 京都 アートオブウォー 20070218 06 京都 アートオブウォー 20070422 06 京都 アートオブウォー 20061217 04 阪神 アートオブウォー 20070317 07 阪神 アートオブウォー 20070901 12 札幌 アイアムザヒロイン 20050327 08 阪神 アイアムザヒロイン 20050919 09 札幌 アイアムザヒロイン 20060723 09 新潟 アイアムザヒロイン 20070520 12 新潟 アイアムザヒロイン 20050312 12 中京 アイアムザヒロイン 20051211 08 中京 アイアムザヒロイン 20061210 08 中京 アイアムザヒロイン 20050417 07 中山 アイアムザヒロイン ・ ・ ・ ・ ・ このデータを次の条件で並び替えたいと考えています。 @基準となる日付は2007年9月1日(20070901)である。(データは全て2007年9月1日以前のものです) A馬名が共通のもので、2007年9月1日以前のデータがある場合、それを並べていく Bデータの並び替えは2007年9月1日の中で各競馬場でのレース番号の数字の若い順から である。 例えば2009年9月1日新潟1レース以降の出馬表は 年月日 レース番号 競馬場コード 馬名 20070901 01 新潟 ハイカックウ 20070901 01 新潟 ミヤギフェアリー 20070901 01 新潟 マイネルアフェット 20070901 01 新潟 チョコクランチ 20070901 01 新潟 ポコアポコフォルテ 20070901 01 新潟 コスモグラスゴー 20070901 01 新潟 ダイワアンリ 20070901 01 新潟 ワンサイド 20070901 01 新潟 ヒロノグレガ 20070901 01 新潟 レオパンドラ 20070901 01 新潟 シトラスサン 20070901 01 新潟 コスモドリーミン 20070901 01 新潟 クリプトジュエル 20070901 01 新潟 マイネルナチューラ 20070901 01 新潟 マイシルバースター 20070901 01 新潟 ステラダルク 20070901 01 新潟 モアスマイル 20070901 02 新潟 サチノスクランブル 20070901 02 新潟 コスモコマンダ 20070901 02 新潟 トップオブマジック 20070901 02 新潟 ホウリイキッド 20070901 02 新潟 ヒラボクシャトル 20070901 02 新潟 トレノクリスエス 20070901 02 新潟 レオソリスト 20070901 02 新潟 ストロングマリオン 20070901 02 新潟 マイネルフェスタ 20070901 02 新潟 エターナルロマンス 20070901 02 新潟 グルービーアイズ 20070901 02 新潟 ステディーラブ 20070901 02 新潟 メジロガストン 20070901 02 新潟 エーシンダカーポ 20070901 02 新潟 マッシュアップ 20070901 02 新潟 エンゲージメント ・ ・ ・ ・ となっていますが、上記の条件を適用させると 年月日 レース番号 競馬場コード 馬名 20070901 01 新潟 ハイカックウ 20070901 01 新潟 ミヤギフェアリー 20070729 01 新潟 ミヤギフェアリー 20070630 05 福島 ミヤギフェアリー 20070901 01 新潟 マイネルアフェット 20070812 01 新潟 マイネルアフェット 20070722 06 新潟 マイネルアフェット 20070901 01 新潟 チョコクランチ 20070804 06 新潟 チョコクランチ 20070901 01 新潟 ポコアポコフォルテ 20070805 02 新潟 ポコアポコフォルテ 20070715 05 新潟 ポコアポコフォルテ ・ ・ ・ ・ 20070901 02 新潟 サチノスクランブル 20070804 01 新潟 サチノスクランブル 20070722 01 新潟 サチノスクランブル 20070630 05 福島 サチノスクランブル 20070901 02 新潟 コスモコマンダ 20070804 01 新潟 コスモコマンダ 20070701 05 福島 コスモコマンダ ・ ・ ・ ・ ・ というように表示したいと考えています。 SQLには詳しくありませんが ORDER句で優先する列を決めていけば問題が解決できるかと考えています。 どなたか御教授の方、宜しくお願いします。 ---- 並べ替えキーを作成し、並べ替えを行う方法です。 E列以降を作業列に使用します。 [A] [B] [C] [D] [E] [F] [G] [1] 年月日 レース番号 競馬場コード 馬名 作業列1 作業列2 並べ替えキー [2] 20070901 01 新潟 ハイカックウ 20070901_01 1001 1001 [3] 20070901 01 新潟 ミヤギフェアリー 20070901_01 1002 1002 [4] 20070729 01 新潟 ミヤギフェアリー 20070729_01 1002 [5] 20070630 05 福島 ミヤギフェアリー 20070630_05 1002 [6] 20070901 01 新潟 マイネルアフェット 20070901_01 1003 1003 [7] 20070812 01 新潟 マイネルアフェット 20070812_01 1003 [8] 20070722 06 新潟 マイネルアフェット 20070722_06 1003 [9] 20070901 01 新潟 チョコクランチ 20070901_01 1004 1004 [10] 20070804 06 新潟 チョコクランチ 20070804_06 1004 [11] 20070901 01 新潟 ポコアポコフォルテ 20070901_01 1005 1005 [12] 20070805 02 新潟 ポコアポコフォルテ 20070805_02 1005 [13] 20070715 05 新潟 ポコアポコフォルテ 20070715_05 1005 [14] 20070901 02 新潟 サチノスクランブル 20070901_02 2001 2001 [15] 20070804 01 新潟 サチノスクランブル 20070804_01 2001 [16] 20070722 01 新潟 サチノスクランブル 20070722_01 2001 [17] 20070630 05 福島 サチノスクランブル 20070630_05 2001 [18] 20070901 02 新潟 コスモコマンダ 20070901_02 2002 2002 [19] 20070804 01 新潟 コスモコマンダ 20070804_01 2002 [20] 20070701 05 福島 コスモコマンダ 20070701_05 2002 [21] _ #N/A [22] _ #N/A E2 =A2&"_"&B2 F2 =IF(A2=20070901,B2*1000+COUNTIF(E$2:E2,E2),"") G2 =VLOOKUP(D2,D$1:F$10000,3,FALSE) 基準日が変わる場合は、F2式の日付を変更して下さい。 また、データ範囲が10,000行を超える場合は G2式の範囲を広げて下さい。 並べ替え前に 年月日が降順 或いは、同一馬名の中では基準日のデータが 上側の行に来る場合は、F列の作業列を省略し F2に =IF(A2=A$2,B2*1000+COUNTIF(E$2:E2,E2),VLOOKUP(D2,D$1:F1,3,FALSE)) の式でも並べ替えキーを作成する事が出来ます。 (HANA) ---- HANAさん 御回答ありがとうございます。 二か月以上解らなかった問題が解けました。(初心者ですいません) 追加で御質問させていただきたいのですが、 このエクセルのデータはMS Accessからエクスポートしてきたものでして、 最初のセルのデータは全て「文字列」として記録されています。 この状態では御回答いただきました式が認識されず、意味を成さなかったので、 文字列を「数値」に変換しました。その結果正しく表示されるようになったのですが、 如何せんデータの数が多すぎるため、全てのデータ変換に時間がかかり過ぎてしまいました。 そのため、文字列を数値に変換する時間を短縮する方法を教えていただけないでしょうか? また上記でAccessを使ってということでしたが、今回の並び替え処理をAccess内で行う方法は無いでしょうか? エクセルの質問版で聞くのは恐縮ですが、何か御存知の場合、教えていただければ幸いです。 宜しくお願いします。 (ポロン) ---- どの方法を使って居られますかね? =IF(A2=20070901,B2*1000+COUNTIF(E$2:E2,E2),"") の式なら、日付部分を文字列で判定してもらえば良いと思います。 =IF(A2="20070901",B2*1000+COUNTIF(E$2:E2,E2),"") 或いは、エクスポートする際 基準にする日付をどこかに 一緒に書きだしておいて(例えばH2セル) =IF(A2=$H$2,B2*1000+COUNTIF(E$2:E2,E2),"") の様にしても良いかもしれません。 ちなみに 文字列を数値に直すには メニュー・データ→区切り位置 で、列毎に一括で変換可能です。 Accessでの処理をご希望と言うことですが 私はAccessは持っていないので、他の方のレスを待つか 世の中にはAccessのQ&A掲示板も有ると思いますので そちらで質問されるのが良いかもしれません。 その際、そのURLをこちらへリンクしておいてもらえると こちらで分かる人が、出向いてコメントを付けてくれるかも知れませんので 良いかもしれません。 (HANA) ---- HANAさん >どの方法を使って居られますかね? =IF(A2=20070901,B2*1000+COUNTIF(E$2:E2,E2),"") を使っていましたが、文字列を変換する方法を用いることで 問題が解決しました。 ありがとうございます。 > 世の中にはAccessのQ&A掲示板も有ると思いますので そちらで質問されるのが良いかもしれません。 そうさせて頂きます。色々なアドバイスありがとうございました。 ---- あら =IF(A2="20070901",B2*1000+COUNTIF(E$2:E2,E2),"") で上手く行きませんでしたか? こちらでも出来るかもしれません。 =IF(A2*1=20070901,B2*1000+COUNTIF(E$2:E2,E2),"") >文字列を変換する方法 だと、一手間増えちゃいますよね? (HANA) ---- HANAさん Accessで作業するには、基準キーが必要となるため、 Accessからエクスポートしたエクセルデータに並び替えキーを付けて、 再びAccessにインポートするという方法を取ろうと思います。 データは2008年9月21日までのものがありまして、 年月日で降順に並べると、 年月日 レース番号 競馬場コード 馬名 20080921 1 札幌 コウヨウサルート 20080921 1 札幌 サルラ 20080921 1 札幌 エンリッチメント 20080921 1 札幌 ヘリテージゴールド 20080921 1 札幌 ローズブーケ 20080921 1 札幌 スイートメリー 20080921 2 札幌 フレアリングローズ 20080921 2 札幌 プリモカラーズ 20080921 2 札幌 ダイワポイズン 20080921 2 札幌 ハヤブサリーフ 20080921 2 札幌 ワニタレスタリ 20080921 2 札幌 カイテキプリン 20080921 2 札幌 キタノオハナ 20080921 2 札幌 ヒトメボレムスメ 20080921 2 札幌 テイエムオーロラ 20080921 2 札幌 ラブユニバース ・ ・ ・ ・ 20080412 12 阪神 マルブツセンター 20080412 12 阪神 テンシノコンコルド 20080412 12 阪神 ツルマルキセキ 20080412 12 阪神 ゼンノジュウシン 20080406 1 中山 サンデーチャリティ 20080406 1 中山 ケージーグラス 20080406 1 中山 ナイスラッキー 20080406 1 中山 シロッポ 20080406 1 中山 スマートサプライズ 20080406 1 中山 エプソムダーク 20080406 1 中山 ファイナルクロス 20080406 1 中山 ハクバドウジ 20080406 1 中山 マイネルスカイハイ 20080406 1 中山 コアグリーン 20080406 1 中山 マコトボムケッチ 20080406 1 中山 アンブロークン 20080406 1 中山 ダイワチェイサー 20080406 1 中山 シルクパナシア 20080406 1 中山 ツクバエリザベス 20080406 2 中山 テンエイファルコン 20080406 2 中山 ソフィアクィン ・ ・ ・ ・ というものになります。 前回までは2007年9月1日を基準日としていましたが、 今回は「各日の各レースに出走した馬の番号を得る」という作業を行いたいと思います。 考えが二つありまして、 @前回の F2=IF(A2=20070901,B2*1000+COUNTIF(E$2:E2,E2),"") の式は基準日が変わると値が表示されなくなる為、別の方法で作業列2を表示する。 A出馬した年月日が若い順に馬名毎のナンバーをつける。 例えばコウヨウサルートという馬は 2008年9月21日の札幌第一レースに出馬しています。 この馬の過去の出走を新しい日付から順に番号をつけて 年月日 レース番号 競馬場コード 馬名 番号 20080921 01 札幌 コウヨウサルート 1 20080817 01 札幌 コウヨウサルート 2 20080621 01 福島 コウヨウサルート 3 20080713 02 福島 コウヨウサルート 4 20080907 03 札幌 コウヨウサルート 5 20080830 03 札幌 コウヨウサルート 6 20080427 03 東京 コウヨウサルート 7 というように表示したいと考えています。 それぞれの方法に合う関数は有るでしょうか? ---- いまいちイメージが良く分からないのですが・・・・。 馬名毎の、レース番号(昇順)の 年月日(降順) って事ですか・・・? >A出馬した年月日が若い順に馬名毎のナンバーをつける。 →年月日の過去の物が下側に来るように と言うだけなら、 年月日 レース番号 競馬場コード 馬名 番号 20080921 01 札幌 コウヨウサルート 1 20080907 03 札幌 コウヨウサルート 5 20080830 03 札幌 コウヨウサルート 6 20080817 01 札幌 コウヨウサルート 2 20080713 02 福島 コウヨウサルート 4 20080621 01 福島 コウヨウサルート 3 20080427 03 東京 コウヨウサルート 7 の順になりそうですが・・・。 (1)と(2)は独立した物ではなく 続きなんですかね? (1)で書いて居られるイメージも 良く分からないので・・・ もう少し沢山の例を挙げて教えて下さい。 (HANA) ---- HANAさん 単純に年月日が新しいか古いかだけで考えていただけると 良いかと思います。 となると、 年月日 馬名 番号 20080921 コウヨウサルート 1 20080907 コウヨウサルート 2 20080830 コウヨウサルート 3 20080817 コウヨウサルート 4 20080713 コウヨウサルート 5 20080621 コウヨウサルート 6 20080427 コウヨウサルート 7 になるような表示にしたいと思います。 @とAは独立したもので、 年月日 レース番号 競馬場コード 馬名 作業列1 作業列2 並べ替えキ- 20080921 1 札幌 コウヨウサルート 20080921_1 1001 1001 20080921 1 札幌 サルラ 20080921_1 1002 1002 20080921 1 札幌 エンリッチメント 20080921_1 1003 1003 20080921 1 札幌 ヘリテージゴールド 20080921_1 1004 1004 20080921 1 札幌 ローズブーケ 20080921_1 1005 1005 20080921 1 札幌 スイートメリー 20080921_1 1006 1006 20080921 2 札幌 フレアリングローズ 20080921_2 2001 2001 20080921 2 札幌 プリモカラーズ 20080921_2 2002 2002 20080921 2 札幌 ダイワポイズン 20080921_2 2003 2003 20080921 2 札幌 ハヤブサリーフ 20080921_2 2004 2004 20080921 2 札幌 ワニタレスタリ 20080921_2 2005 2005 20080921 2 札幌 カイテキプリン 20080921_2 2006 2006 20080921 2 札幌 キタノオハナ 20080921_2 2007 2007 20080921 2 札幌 ヒトメボレムスメ 20080921_2 2008 2008 20080921 2 札幌 テイエムオーロラ 20080921_2 2009 2009 20080921 2 札幌 ラブユニバース 20080921_2 2010 2010 20080921 2 札幌 ジョーイリス 20080921_2 2011 2011 20080921 2 札幌 ラストダンス 20080921_2 2012 2012 20080921 3 札幌 サトノミラクル 20080921_3 3001 3001 20080921 3 札幌 テンシノザール 20080921_3 3002 3002 20080921 3 札幌 レッドハイヒール 20080921_3 3003 3003 ・ ・ ・ ・ とここまでは前回と同じく基準日を20080921に変更した F2=IF(A2=20080921,B2*1000+COUNTIF(E$2:E2,E2),"") でできるのですが、途中で日付が変わるとまたそこで基準日を変更しなければならなく なります。 よって式をコピーしていって、基準日が変わっても並び替えキーが表示できるような方法を教えて 頂けないでしょうか? ---- ん・・・? もしかして、最初の並べ替えとは別の話ですか? それで、「並べ替えが必要」と言う事ではないのですか? >今回は「各日の各レースに出走した馬の番号を得る」という作業を行いたいと思います。 これは「並べ替える」のではなく 「○日の×レース」と指定すると「誰」と出てくるような物を作りたい って事ですか? 「番号を得る」ってのが、具体的にどういったことなのか・・・。 並べ替えキー の事 = 馬の番号 の事 でしょうか? どちらも、エクセルでは (1) 年月日・降順 レース番号・昇順 (2) 馬名順 年月日・降順 だけで、作業列を使用する事も無いと思うのですが・・・。 Accessに入れたときに、簡単に並べ替えられるように エクセル側でキーを作っておきたい って事ですかね? 1.馬名毎の 基準日のレース番号の降順 で並べる 2.各日付降順の レース番号の昇順 に並べる 3.馬名毎に 年月日を降順 に並べる ちなみに、「コウヨウサルート」の例では 番号が1〜振られていますが 馬名毎にリセットして 1から番号を振れば良いのですかね・・・? (>3.馬名毎に 年月日を降順 に並べる ではなく >3.年月日を降順 に並べる で良い?) そこで、もう少しお伺いしてみますが 出力されたときのデータというのは、 何の並びになっているのですか? それから、競馬のことは全く疎くてお恥ずかしいのですが レース番号の最大の番号 と言うのは決まっているのでしょうか? その場合、何番が最大になるのですか? これとは別の件で気になる所が有るのですが・・・。 エクセルで日付を値に直すことにされた様ですが それをAccessに戻したときに、既にあるAccessのデータとの 関連がつけにくくなりそうに思いますが、その点は問題無いのですか? (HANA) ---- HANAさん 段々、話がややこしくなってきているようで申し訳ないです。 私の説明力不足です。 一つ目の御質問からお答えします。 >もしかして、最初の並べ替えとは別の話ですか? そうです。一番最初にしていた質問とは全く別個の物とお考えください。 >>今回は「各日の各レースに出走した馬の番号を得る」という作業を行いたいと思います。 >これは「並べ替える」のではなく >「○日の×レース」と指定すると「誰」と出てくるような物を作りたい >って事ですか? ここではまだその情報は必要無いと思います。 >Accessに入れたときに、簡単に並べ替えられるように >エクセル側でキーを作っておきたい って事ですかね? まさにその通りです。Accessではエクセルのように式を入力して新しく列を 増やすというのはやり難いようなので、エクセルで作ってしまおうと考えています。 >ちなみに、「コウヨウサルート」の例では >番号が1〜振られていますが 馬名毎にリセットして >1から番号を振れば良いのですかね・・・? 「リセット」のイメージが少し判らなかったのですが、 年月日の新しい順番が判れば良いかと思います。 「番号」という言葉が曖昧に見えたようなので補足しますと、 コウヨウサルートが一番新しく出走したのは2008年9月21日で、 2番目に新しいのは2008年9月7日・・・ というような情報を得たいという意味です。 >そこで、もう少しお伺いしてみますが >出力されたときのデータというのは、 >何の並びになっているのですか? これはイマイチ私にもわからないのですが、2007年9月1日の第一レースから並んでいるようで 何を基準としているのか明確になっていない状態です。すいません >レース番号の最大の番号 と言うのは決まっているのでしょうか? >その場合、何番が最大になるのですか? 基本、1日の各レース場ごとで12レースまであります。これは特別な日以外 (有馬記念等)では常に同じです。 >これとは別の件で気になる所が有るのですが・・・。 >エクセルで日付を値に直すことにされた様ですが >それをAccessに戻したときに、既にあるAccessのデータとの >関連がつけにくくなりそうに思いますが、その点は問題無いのですか? 今まで色々なことをお聞きしていましたが、御回答を吟味していく中で、 「本当にこれを基準にして良いのか?」という考えが浮かんできています。 HANAさんが危惧されているように、余計なことをして逆にやりにくくなる可能性も あります。ただ、色々と考えても、結局何かを試してみないと判らないな という結論に達しました。 どうかお付き合いいただけますよう、宜しくお願いします。 ---- >>レース番号の最大の番号 と言うのは決まっているのでしょうか? >>その場合、何番が最大になるのですか? >基本、1日の各レース場ごとで12レースまであります。これは特別な日以外 >(有馬記念等)では常に同じです。 特別な日は、増えるのですかね?減るのですかね? 良く分かっていませんが・・・・ 降順にすると、日付順のレース順に成ります。 =A2&"_"&TEXT(100-B2,"0000") 各馬名毎に、直近の物から数えて 何回目に出現したかを表示します。 =SUMPRODUCT((D$2:D2=D2)*(A$2:A2>A2))+1 とかですか? (HANA) ---- HANAさん >特別な日は、増えるのですかね?減るのですかね? 減ります。12レースを超えることは無いです。 その他の式、いろいろ試してみます。 長い間お付き合い頂き、ありがとうございました。 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200905/20090515232142.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97037 documents and 608190 words.

訪問者:カウンタValid HTML 4.01 Transitional