Excelでユーザー設定リストを用いた並び替え方法

このQ&Aのポイント
  • Excelでソーシャルゲームのカードリストを並び替える方法について教えてください。
  • カードのリストをテーブル化している中で、レア度による並び替えが問題です。ユーザー設定リストを使って並び替える方法を教えてください。
  • Excelの並び替え機能を使ってカードリストをレア度順に並び替えようとしていますが、手順が煩雑です。より効率的な方法があれば教えてください。
回答を見る
  • ベストアンサー

Excelでユーザー設定リストを用いた並び替え

Microsoft Excel 2010を使用しております。 趣味でプレイしているソーシャルゲームのカードのリストを作成しており、カード名やレア度、攻撃力などを入力してテーブル化しています。 そこでそれらを並び替えようとしたとき、カード名と攻撃力は昇順と降順で問題ないのですが、レア度が高い方から順にSR,LR,HR,R,Nとなっているので既定の昇順や降順では望んでいる順に並び替えられません。 なのでユーザー設定リストでSR,LR,HR,R,Nを登録したのですが、レア度で並び替えをするときに レア度の列のセルを選択 ↓ 「データ」タブの並び替えをクリック ↓ 「並び替え」ダイアログボックスの「最優先されるキー」で列を「レア度」、並び替えのキーを「値」と選択 ↓ 順序で「ユーザー設定リスト...」を選択 ↓ 「ユーザー設定リスト」ダイアログボックスから「SR,LR,HR,R,N」を選択し「OK」 ↓ 「並び替え」ダイアログボックスで「OK」 の手順を踏まないといけません。 さらに、その直後は昇順、降順を選択するときちんと「SR,…,N」や「N,…,SR」となるのですが、一度カード名や攻撃力など他の項目で並び替えてしまうと再度上記の手順を踏まないとレア度の並び替えが出来なくなってしまいます。 列の見出しの▼から昇順、降順と同じように並び替えが出来るのが理想なのですが、何か方法はないのでしょうか? 回答、よろしくお願いします

  • stiyl
  • お礼率50% (11/22)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

マクロの自動記録を試してみるのも良いかもしれません。 マクロを図形などに登録しておけば、クリック一つで並び変わりますしね。 VLOOKUPでも良いのですが、MATCH関数も使えます D2セルに =MATCH(B2,{"N","R","HR","LR","SR"},0) 下へオートフィル

stiyl
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 回答ありがとうございました。

その他の回答 (3)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

一番簡単なのは 5SR 4LR 3HR 2R 1N と順番を頭に追加して入力しておく方法です。 他にはNo1さんの言われてるようにVlookupを使ってD列にでも並び替えようのデータを用意する方法です。 どこかに(E列とF列としたら)   E  F 1 SR 5 2 LR 4 3 HR 3 4 R  2 5 N  1 といったデータを用意して D2に =VLOOKUP(B2,$E$1:$F$5,2,FALSE) として下に必要なだけコピーします。 並び替えはD列で行います。

stiyl
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 回答ありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 レア度の低い順から、 1N 2R 3HR 4LR 5SR という具合に、頭に数字を付けた形で入力されては如何でしょうか?  もし、既にリストにデータを入力済みで、入力し直すのが大変という事であれば、[ホーム]タブの「編集」グループの中にボタンがある、[置換]機能を利用されて、一括して置換されると良いと思います。  尚、置換される際には、まず 「HR」→「3H@」 「LR」→「4L@」 「SR」→「5S@」 の様に「○R」のものを先に「R」を別な文字に置き換えた形に置換しておき、それを済ませてから次に、 「R」→「2R」 とレア度が下から2番目の「R」の置換を行い、最後に、「@」を全て「R」に置換する様にして下さい。  何故なら、先に「R」→「2R」の置換を行ってしまいますと、 「HR」→「3H2R」 「LR」→「4L2R」 「SR」→「5S2R」 となってしまうからです。

stiyl
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 回答ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

レア度をコード化して、vlookupで名前参照させたほうが簡単じゃないですか?

stiyl
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 回答ありがとうございました。

関連するQ&A

  • エクセルのデータの並び替え

    エクセルバージョン2002です。 並び替えの昇順降順で、並び替えの基準列から対象範囲迄選択して並び替えを実行しても並び替えが実行されません。 M列のM2より下に数式を組んで他の列より抜き出したデータとなります。 データと数式は、以下の通りです。 並び替えで、昇順降順出来る様に出来たらと思います。 ご教授お願い致します。 宜しくお願い致します。 変化量(M列) -0.0 0.02 -0.2 0.01 -0.1 -0.1 0.00 -0.2 -0.0 0.16 -0.0 0.02 0 0 -0.0 0.00 0.00 =IF(ISNUMBER(VALUE(MID(F1,1,4))),MID(F1,1,4),IF(ISNUMBER(VALUE(MID(F1,1,1))),MID(F1,1,1),"")) F列のデータ 変化量及び変化率 -- (--%) 0 0.02 (3.77%) -- (--%) 0.00 (0.00%) 0.16 (7.77%) 0.00 (0.00%) -0.02 (-22.22%) -- (--%) 0 -0.01 (-4.55%) -0.15 (-14.85%) 0 0.01 (10.00%) -- (--%) -- (--%) -0.12 (-16.00%) -0.05 (-14.29%) -0.23 (-16.67%) -0.01 (-11.11%) 0.02 (3.23%) 0.00 (0.00%) -0.24 (-6.72%)

  • Excelで、リストボックスの値によってVBAの記述を変えたい

    エクセルの表(データベース)を 並び替えるマクロを作っています。 コマンドボタンを押したらあらかじめ登録された 条件で並び替えされる、というところまではできました。 (ここでいう登録とは私が条件指定してVBAに記述したものです) そこで質問なのですが、ユーザーフォームの上で 並び替えの条件(優先順位・降順、昇順)をユーザーに 指定してもらい、ボタンを押したら並び替えされる、 というものを作りたいのですが可能でしょうか。 なぜこんな面倒なことをするかというと、 複数のユーザーが扱うデータベースで、 並び替えの操作を簡略化したいのと、 間違った操作によるデータベースの破壊を 防止したいからです。 まずユーザーフォーム上のリストボックスの中に 優先順位をかける項目を入れておき、それを3つ 作りました。(並び替えの条件が3つまであるので) 次に各リストボックスの横にラジオボタンを置き、 降順、昇順を指定できるようにする。 (ここで、ラジオボタンのどちらかしか選択できないように したいのですがその方法もわからないので教えてください) そして、それぞれの指定された結果でVBAの記述(値) を変えてコマンドボタンを押したら並び替えされる、 という風にしたいのです。(あくまでイメージですが) Selection.Sort Key1:=Range("A2"), Order1:=xlDescending, ・・・とつづく記述で 上の記述のRange("A2")と、xlDescendingの値を ユーザーフォーム上で選んだ結果によって 変更したい、ということなんですが、こんなことって 出来るものでしょうか。もしくは同じ様な事を 可能な書き方とかがあれば教えて頂きたいです。 よろしくお願いします。

  • Excel ピボットテーブルで並び替えをしたい

    Excelでピボットを使って並び替えがうまくいきません 例   A    B    C     1   名前 地区名 施設名 2    太郎 大阪  グランド 3   太郎  大阪 グランド 4   花子   東京 公園 5    花子  東京  公園 6   花子  東京  公園 7   正義 名古屋 球場 8    正義 名古屋 球場 となっているのを並べ替えとフィルタを使用したら 正確にできたのですが、ピボットを使用しピボットのフィールドリスト にある「名前」にチェックを入れてレポートを作成したら意図しない 降順、昇順になりました。よく見ると、ひらがなを使用した「名前」が 昇順の先頭になり、行番号1~6まで昇順、7~20まで、21~33というような結果になっています。行レベルの右にある▼をクリックして 昇順、降順をクリックしても同じ結果でした。(すべて選択)などを見ると昇順、降順の結果通りに並んでいます。できれば、ピボットで 昇順、降順を意図した結果(ここでは五十音順)にしたいのですが わかる方教えてください

  • Access2000 レポートの並び替えについて

    こんにちは。Access2000について質問です。 フォーム上で指定された項目で並び替えをし、それをそのままレポートの並びにしたいのですが、それがどうも上手くいきません。指定する項目はコンボボックスで複数有り、昇順・降順も指定できるようになっています。レポートを開くときにそのフォームで指定されている項目を読み、コードで並び替えを指定しているのですが、どうやら元のテーブルのキー項目の昇順で表示されているようなのです。「並び替え/グループ化」(青いカッコのもの)は、並びが固定されてしまうので使用したくないのです(実際いつも使っていません)。 同じような現象になったことがあるという方、または解決方法をご存知の方は、回答よろしくお願いします。

  • エクスプローラやファイルのダイアログボックスでの並び順

     windows2000SP4を使用しています.  新規に作ったフォルダをエクスプローラで開くと名前の昇順でソートされていたのですが、突然名前の降順でソートされるようになりました。これまで作ったフォルダも全てです。  名前昇順に設定すれば反映されるのですが、面倒なので名前昇順になるように戻したいのです。  それから、アプリケーションのファイルのセーブやロードのダイアログボックスでも名前降順になっていて、こちらは設定が残らないようで、ダイアログボックスを開くたびに名前昇順に設定していて憂鬱です。  助けてください。

  • エクセルのデータの並べ替えについて

    現在エクセルのOffice2003を使っています。 今、顧客リストを作っているのですが、そのリストは 顧客No、顧客名、フリガナ、性別、職業、登録月、都道府県、利用平均の8種類のフィールドがあります。 これを、 (1)利用平均の降順 (2)顧客Noの昇順 (3)登録月の昇順 (4)職業の昇順 で、(1)を1番優先、(2)を2番目に優先という風にして 並べ替えをしたいのですが、 並べ替えのダイアログボックスには3種類のキーしかありません。 どうすれば、上の(1)から(4)の順に優先して並べ替えすることができるか教えてください。 すみませんが、よろしくお願いします。

  • ワードの表で並び替えができません

    お世話になります。 ワードの表で顧客名簿を作成しております。 氏名の列を選択して、罫線⇒並び替えを選んで、表示されるダイアログボックスで優先されるキーに氏名、種類に五十音、昇順、並べ替えの単位を段落にし、タイトル行ありにしてOKを押すと、1行目と2行目だけが並び替えられましたが、その他の行は並び替えられません。 どうすれば、全部が並び替えられるのでしょうか。 文字入力に誤りは無いと思いますが…。

  • アクセスのリストボックス内の順番について。

    アクセスのリストボックス内の順番を変更したいのですが、テーブルの中での順番と異なります。また、テーブル内の順番も昇順か降順しか選べないので、自由に順番を変更するにはどうしたらよいのでしょうか?他の方法があったらそれも教えてください。よろしくお願いいたします。

  • Access 昇順・降順で並び替えできない

    はじめまして。お伺いします。 Accessのデータシートビューです。特定の列だけ、昇順・降順の並び替えが出来なくなりました。 列を選択し、右クリックをすると、他の列では昇順・降順で並び替えのところが出る(アクティブになる)のですが、特定の一列だけ、右クリックメニューの並び替えのところがアクティブになりません。 上のメニュー内からレコードを選択しても同じです。 2,3日前に作業をしたときには出来ていて、今日開いたら出来なくなっていました。 設定のどの部分を見ればよいのか、ご示唆いただければ幸いです。 ご一読ありがとうございました。 それでは

  • エクセルマクロリストボックスの作成方法について

    最近、マクロを勉強し始めたばかりで困っています。 【質問内容】 ダイアログを作成し、リストボックスからリストを作成する方法についてですが、例えばリストボックスが2つあり (1)リストボックス1では、「A、B」が選択できる。 (2)(1)で「A」を選択するとリストボックス2では「C、D」が選択できる。 (3)(1)で「B」を選択するとリストボックス2では「E、F」が選択できる。 といった、エクセルで言えば入力規則のindirect関数のような設定方法についてお教えいただけないでしょうか? 恐れ入りますがよろしくお願いいたします。

専門家に質問してみよう