• ベストアンサー

エクセルでのソート

エクセルでセルの背景色でソートさせたいのですがどのようにすればいいのでしょうか。(色別のソート順はユーザで設定した順番で行ごと) 宜しくお願いします。

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

  • ベストアンサー
  • 1percent
  • ベストアンサー率55% (10/18)
回答No.3

VBAでマクロを組めばできそうな気がします。 セルの背景色はLong型の数値として以下の通り取得できます。 'ワークシート”sheet1”のセル”A1”の背景色の取得 Dim 背景色 as Long 背景色 = Worksheets("sheet1").Cells(1, 1).Interior.Color Msgbox 背景色 '背景色を数値で表示 この場合sortメソッドは使えないので自分でソートのアルゴリズムを使ってソートする必要がありそうです。

oeppu08
質問者

お礼

ありがとうございます。早速試したいと思います。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

ソートというものの無理解による質問です。 エクセルのソートは、セルの「値」ないしは「エクセルが修正した値」に基づいて行うもので、書式で行う(える)ものではありません。 表示形式で行うものでもありません。 セルの情報には値以外にも、別のものが色々あることを、意識すべきです。 ですから色の書式のよって来る(数値の)値に戻って、ソートを考えないといけません。 あるいは値がはっきりしない場合(人間の総合評価で色をつけた場合などは)コードを振る必要があるかもしれません。

oeppu08
質問者

お礼

ソートに関する認識不足でした。ありがとうございます。

  • gutoku2
  • ベストアンサー率66% (894/1349)
回答No.1

>セルの背景色でソートさせたいのですがどのようにすればいいのでしょうか。 セルに割り付けられた”書式設定”によってソートさせる事はできません。 しかし、背景色が3色で良いのであれば、”条件付書式”にて設定する事が できます。 条件付書式で、特定のセルに1が入力されたならば、赤、2が入力されたなら ば青、3が入力されたならば緑、等を設定し、入力された数字でソートすれ ば、結果的に色でソートされた事と同じになります。 ただし、条件付書式の条件は3つしか設定できません。  ※4つ目の書式設定をしたい場合は下記参照 http://office.microsoft.com/ja-jp/excel/HA011366251041.aspx?pid=CL100570551041 <条件付書式の設定例> セル A1 1が入力されたならば、B1を赤色の背景色にしたい場合  B1を選択し、    書式 - 条件付書式 - ↓ 数式が - "=A1=1"     書式をクリック - パターン - 赤色 をクリック        OK - OK  これで条件付書式がB1セルに設定され、A1に1を入力すると赤色の  背景色になります。  

oeppu08
質問者

補足

ご返答ありがとうございます。 セルの背景色でソートですが、書式設定ではなくマクロで処理させることはできるのでしょうか

関連するQ&A

  • エクセルでのソートについて、教えて下さい

    お世話になります。 エクセルのセルに、・・・ 例えば、 5 3 1 9 2 4 6 12 7 2 1 10 とあります。 横方向に、4つの数字ですが、最後は、3つの数字の 合計となっています。 5+3+1=9 というように・・ このように、並んでいるものを、合計の小さい順番に ソートしたいのです。 ソートした結果として、・・・ 5 3 1 9 7 2 1 10 2 4 6 12 このように、合計数字が、小さい順番に、 ソートしたいのです。 さらに、その前の3つの数字も 同時に、合計数字にくっついて、ソートしてほしい のです。 こんなことできるのでしょうか?? 教えて下さい。

  • エクセル2000で数字のソートについて

    以下は、エクセル2000でソートした結果です。 先頭はタイトル行で、各セルの[']は削除済みです。 ------- 図形ID 1410619 → (1) 1410620 → (2) 0010101 → (3) 0010102 → (4) 1550719 → (5) 1550720 → (6) ------- 期待した結果(右の番号で言えば3,4,1,2,5,6の順)とは異なります。 (1)と(2)のセルで、[F2]KEYを押してセル内で編集可能にしてから 何もせずに[Enter]を押し、再度ソートすると何故か期待通りの結果が 得られます。 数百行ある場合、いちいちセルごとに「[F2]を押して何もせずに[Enter]」 などやってられませんので、他に何かいい方法はないでしょうか? ※表示形式=文字列 です。先頭の"0"は必要です。

  • エクセルで、ソートすることは出来ますか??

    皆様、お世話になります。 エクセルで・・・ セル 1-A~ZZ ぐらいまでに、 1~43までの数字がランダムに書き込んであります。 この横方向一列に書き込んである、数字を、 小さい順番に、一発で、並び替えることは出来ますか? 小さい順番に並び替えることをソートとかいうと思いますが、出来るのでしょうか? 宜しくお願いします。

  • エクセルのソート(行)について

    エクセルで作成した行単位のデータを、ある列の値 でソートしようとしたら、以下の様なエラー表示が でました。 「この操作には、同じサイズの結合セルが必要す。」 どの行にも同じ列を対象に結合セルがありますが、 このような場合はソートできないのでしょうか? (各行ともセルの書式は同じです。) エクセルのバージョンは、EXCEL2000 9.0.3821 SR-1 です。 ご存知でしたら教えて下さい。

  • エクセル2003で日付等をソートしたい

    エクセル2003で日付等をソートしたいのですが、簡単に設定できますか?? 表のA1に日付というセルを作りました。その下から日付がずらっと並んでいるのですが、その日付はランダムで、上から若い順に並び替えたいです。 毎回、手動でするのではなくて、A1セルにボタンをつけて、カチッとクリックするだけで並び替えをしたいです。 たまに見かけるのですが、セルの右端に灰色の矢印の付いたボタンみたいなのが、そうだと思います。

  • エクセル2010のソートには限界がある?

    よろしくお願いします。 エクセル2010を使っていますがエクセルのソートがうまくできません。 100行のデータがあったとして、オートフィルタ⇒昇順または降順 という形でソートしても、50行ぐらいまではソートされているのですが、 それ以降はソートされていなかったりすることがあります。 たとえば 1-1 田中   男性  車所有 1-2 佐藤   女性  土地所有 1-3 角川   男性  車所有 2-1 講談   男性  土地所有 2-2 集英社  女性  車所有 子rを1-1,1-2などの番号でソートしても昇順、降順にならかったり、 男性と女性でデータを分けたいため、キーワードを含む、などで”男性” を入力しても、女性が入力されている行が表示されたりします。 エクセルのソートには制限があるのでしょうか? 上記のような表で男性だけのデータ、女性だけのデータがほしければ、 男性だけのデータを表示して女性のデータが入っているかどうか目検で確認し Alt+; で可視セルだけコピーするしかないでしょうか? 以前のエクセルだときちんとソートできた気がします。。。。 ある表からデータを抽出し、可視セルだけきちんと取り出す方法を 教えてください。

  • excelでのソートについて

    ソートをしようと考えています。 通常のソートではなく、2行目以降をソートすることは可能でしょうか? (1行目は「項目」が入っているので。。。) さらに、この処理ができると仮定して、 csvファイルを読込んだ直後に自動的にソートできるでしょうか? 平たく説明すると。。。 1クリックで自動的に決められた所に格納されている csvファイルをエクセルに読込んで、2行目以降を 自動的にソートできないか?ということなのですが。 宜しくお願いします。

  • エクセルのソートについてお尋ねします

    エクセルでソートを行う場合、データを行・列いずれにも入れて、ソートしたい場合、どのようにすればよろしいでしょうか?

  • エクセルでのソートについて

    エクセルで縦方向(複数列)にデータを入れていっているのですが、 その中の1つの列のデータを昇順とかでソートしたときに、 その列しかソートされません。 行単位で意味を持ったデータなので、 どこの列でソートしても行も追随してソートしたいのですが、 どうすればいいのでしょう?

  • 70000行以上のソートをしたいです

    70000行以上のデータ(人名)があります。 それを、読み順でソートしたいのですが、エクセルでは行数が多すぎてソートできませんでした。 ほかのアプリケーション、またはプログラムなどで大量行のソートは可能になりますか? 何かよい方法あれば、教えてください。 それではよろしくお願いします。

専門家に質問してみよう