• ベストアンサー

EXCELで自動で色わけ、ソート機能について

たとえば、A列に物件名を入力し、その後、B列に完了(これは入力規制にしますが)と入れば、自動的に該当する行のA、B列のセル全体が指定した色に変わるというやり方。ちなみに、完了だけではなく5種類ぐらいに色分けするつもりです。 次にC列に○○、××、△△などのように指定した文字に対して、表がソートされる機能。たとえば、○○に対しての物件一覧に自動的に切り替わる方法です。よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

A列の内容は色づけに関係ないと推察します。B列に入力された進捗状況によってA,B列に背景色を着けるという要望でしょうか。 一般には#01さんの回答にある条件付き書式を用います(A,B列共に着色可能です)。ただし一つのセルに設定可能な条件は3つまでですので進捗状態が5つもあると、条件付き書式では対応ができません。VBAが必要になります。 以下のサンプルマクロはB列に入力された内容によってA,B列のセルを着色するものです。入力シートのモジュールシートにペーストしてみてください。(Alt+F11でVBE画面を起動し、左側にある入力シート名をダブルクリックしたときに表示される画面です) Private Sub Worksheet_Change(ByVal Target As Range)  With Target   If .Column = 2 Then '処理対象をB列に限定    Select Case .Value    Case "完了"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 3    Case "中断"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 5    Case "未着手"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 7    Case "作業待ち"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 6    Case "作業中"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 4    Case Else     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 0    End Select   End If  End With End Sub また後半の「、○○に対しての物件一覧に自動的に切り替わる方法」はオートフィルタを使用するのが良いと思います。オートフィルタはC列全体を選択した状態で「データ」→「オートフィルタ」で設定します。 なおカラーインデックス番号は下記URLを参照下さい

参考URL:
http://634.ayumu-baby.com/vba/color.html
f-skale
質問者

補足

返事おくれてすみません。 すみませんが、実際のシートでは、A列からAS列までで、 ある行のAS列に入力されると、その行のAからAS列まで 着色するというものです。よければ、それで教えてもらえませんか? よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

文章をお読みして、ピンとこないのです。 ~というやり方。 ~される機能。 で、これらをどうされたいのですか?

全文を見る
すると、全ての回答が全文表示されます。
  • pyara
  • ベストアンサー率30% (24/78)
回答No.1

「条件付書式」を使います。(「書式」メニューにあります) 指定したセルがある条件と一致した場合、そのセルを希望の色で塗りつぶすことが可能です。ご質問のような場合、A列のセルは、ある条件を「下隣のセルに”完了”という文字列があれば、このセルを○色に塗る」というように指定します。 ただ、同様にB列も同じ色で塗りつぶせればよいのですが、物件名が複数であれば、B列と同色で揃えていくことは私の知る限り難しいように思います。 条件付けたセルは、書式のコピーを右側にずーっと貼り付けていけば、列全体がその書式になります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル色分け

    エクセル2010であるセル(A1)の値が以下の値に入力したときに 自動で隣のセル(B1)に右の値を入力して、かつその行全体(1行目)をB1の値に応じて 色分けするようにしたいのですが、そのやり方がわかりません。 445~475→000 400~430→00 355~385→0 310~340→1 265~295→2 220~250→3 175~205→4 130~160→5 85~115→6 どうかそのやり方を教えて下さい。

  • Excel2007で、行の自動色分けについての質問です。

    Excel2007で、行の自動色分けについての質問です。 B1とB2をセルの結合で一行にします。その左A1、A2はそのままにしておきます。これをワンセットとして考えます。つまり一列目は二行、2列目は1行になっているものを一単位として考えるという意味合い。 MOD関数で一行単位で色分けできますが、この一単位を一行と考えて、色分けしようとしても1列目の余りが違うので、一列目は色つきのセル(行)とそうでないセル(行)に別れてしまいますし・・・ なにかいい方法があればお願いします。

  • エクセルのソート

    例えば、以下のような数字があり、これをB列の昇順でソートをかけた場合、B列にある5の数字を含む行が、1番下にくるとはずですが、そうなりません。なぜでしょうか? A列   B列 15200  1 15150  1 15150  1 15100  5 15000  1 セルに空白もありませんし、念のため手打ちで5と打ち直しています。範囲指定も、全部しており、問題ないと思うのですが、そうならないのは、他に何か原因があるのでしょうか?

  • エクセルで行ごとの色分けと曜日での色分けを複合したい

    現在エクセルで 入力列を =MOD(ROW(),2)=1 の条件書式で行ごとに色分けをして見やすくしています。 左列に日付があり 日付列は =WEEKDAY(A11)=7 の条件書式で土日を色分けしています。 毎月左の日付を変更した後 右の入力列の日付の土日を手動で赤く文字色を 変更しているのですが さらに一発でこのようにしたいと思い 現在の MOD関数の上に WEEKDAYを重ねたところ訳わからない ぐちゃぐちゃしたセル色と文字色になってしまいました。 行ごとに色を変えてさらに土日に当たる行の 文字色を変更したいのですが どのようにしたらよいのでしょうか それともどちらか一方しかできないのでしょうか どなたかお教えください よろしくお願いします

  • エクセルのセルを条件により色分けしたい

    B列の値(条件)によりA列のセルの色を5色に色分けしたい。 "A1"~"A100" "B1=1" "B2=2" "B3=5"~"B100=4" B列の値によりA列のセルの色を塗りわけしたい。 3色までなら条件書式で塗りわけできるのですが。 よろしくお願いします。

  • Excelでインデント?と()を自動でつけるには?

    Excelで議事録を作っていて、A列に発言者を()の中に入れ、B列に発言内容を箇条書きで書いています。 例: A列 | B列 (鈴木)|・この案件は推進していくべきだ。 (山田)|・しかし、そのためには人員が足りない。 毎回()の入力、・を入力するのがプチストレスです。 A列のセルに名前を入力するだけで、自動的に()の中に入るという設定、同じくB列のセルに文章を入力すれば自動的に最初に・が挿入される、という設定は出来ないものでしょうか。数字を入力するのであれば、セルの書式設定のユーザー定義で「"("#")"」とすれば自動的に()の中に数字が入るのですが…。 また、B列で、同じセル内に長い文章を入力し、「折り返して全体を表示する」設定にすると、2行目以降は1文字下げたインデントにしたいのですが、そういう設定は出来ないモノでしょうか。。。 よろしくお願い致します。

  • エクセルの使い方を教えてください

    下記のような表をエクセル2007で作成したいのですが、可能でしょうか。 (画像を参照ください) (1)エクセルのA1セルから、縦に0001、0002・・と昇順に数字を入力します(A1000セルまで)。 (2)エクセルのB1セルから、縦に2012/8/12(任意の日付)、2012/8/13・・と昇順に日付を入力します(B1000セルまで)。ただし、日付が欠けている場合もありますし、同じ日が続けて入力される場合もあります。 (3)毎週月曜日に、B列の日付がその1週間前の月曜から前日の日曜に該当する同じ行のA列のセルに自動的に色を付けます。例えば、今日が2012/8/20(月)としたら、B列の日付が2012/8/13(月)から2012/8/19(日)に該当する同じ行のA列のセルを自動的に黄色に塗りつぶします。そして、次の週の2012/8/27(月)が来たら、同様にB列の日付が2012/8/20(月)から2012/8/26(日)に該当する同じ行のA列のセルを自動的に黄色に塗りつぶします。そして次の週の月曜も同様です(以下、繰り返し)。 (4)作成したエクセルは毎日開きますが、次の月曜日が来るまでは、同じ場所に黄色が塗られた状態を維持します。例えば2012/8/21(火)~2012/8/26(日)に毎日エクセルを開いた時もB列の日付が2012/8/13(月)から2012/8/19(日)に該当する同じ行のA列のセルが自動的に黄色に塗りつぶされた状態を維持します。 いろいろ考えてはみたのですが、わかりませんでした。どうかお知恵をよろしくお願いいたします。 ●画像の文章が見づらいので、こちらに書いておきます (例) 2012/8/20(月)にB列が2012/8/13(月)~2012/8/19(日)に該当するA列の0002~0008が自動的に黄色に塗りつぶされる。2012/8/21(火)~2012/8/26(日)の毎日このエクセルを開いても0002~0008が黄色に塗りつぶされた状態が維持される。           ↓ 2012/8/27(月)にB列が2012/8/20(月)~2012/8/26(日)に該当するA列の0009~0015が自動的に黄色に塗りつぶされる。 2012/8/28(火)~2012/9/2(日)の毎日このエクセルを開いても0009~0015が黄色に塗りつぶされた状態が維持される。 (以下、月曜日毎に繰り返し)

  • エクセル ソート

    当方、エクセル2010、Windows7の環境です。 エクセルで 「A列」「B列」 「1」「X」 「1」「」 「2」「Y」 「1」「Z」 というように、「A列」に数字が 「B列」には文字が入っています。 ただし、「B列」には何も入っていないこともあります。 この「A列」を第一、「B列」を第二優先順位で ソートすると、 「1」「X」 「1」「Z」 「1」「」 というように、何も入っていない行が 一番下にきてしまいます。 「B列」に何も入っていないのですから、 「1」のかたまりのなかで 一番上にきそうですが、 一番下にきてしまいます。 これを 「1」「」 「1」「X」 「1」「Z」 の順番にソートすることは可能でしょうか?

  • エクセルでの行の並び替えについてお願いいたします

    XPでエクセルのデーターたとえばA列に日付B列に名称 C列に数値等を入力しています C列 D列に一つのセルを外枠で囲みます たとえば1行目のC列に1個  5行目のD列に1個 8行目のC列に一個など 他のセルは外枠で囲んでおりません 変則的な使用理由は支払日の表を作成しています A列支払予定日 B列口座自動引落 C列コンビニ払い込み D列集金来社 などの振り分けで 支払方法が間違わない様 あらかじめ入力位置が分かる様 セルを囲いました。 支払予定なので入力時は問題なかったのですが 1月も終わりに近づき 支払日完了日がC列 D列 などが変わって来たので A列の日付を代え日付順に行をソートして並び替えた所 囲ったセルはソートされず 囲いと内容が合わなくなってしまいました。 仕方なく今日は切り取り/貼り付けで並び替えしましたが囲ったセルごとソート出来る方法がありましたら ご伝授いただきたいと思います。

  • エクセル背景色を自動に

    エクセルで作成した表についての質問です。 ある列のセルに決まった文字列を入力すると、その行の背景色が自動で変わる方法を教えていただけないでしょうか? 例)  「完了」と入力した行が一行灰色に変わり、  「未完了」と入力した場合は何も変わらない。 よろしくお願いします。

専門家に質問してみよう