• ベストアンサー

4つ以上の条件付き書式(エクセル)

 条件付き書式で3つはできるようになったのですが、4つ以上だと項目が出てこないでできません。4つ以上の条件付き書式はできるのでしょうか。ちなみに以下のことを考えています。 100~  … A  90~99… B  80~89… C  70~79… D  60~69… E  50~59… F  40~49… G  30~39… H  20~29… I  10~19… J   0~9 … K

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.8

ANo.6です。Iが抜けてました。 すいません。 B1 =IF(A1="","",CHOOSE(INT(A1/10)+1,"K","J","I","H","G","F","E","D","C","B","A"))

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

その他の回答 (10)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.11

こんにちは。 数式ですと、以下のようになります。 =CHAR(64+11-INT(MIN(100,MAX(A1,0))/10)) マクロですと、以下のような手順になります。 まず、シートモジュールにマクロを取り付けます。 ・最初に、色見本用サンプルプログラム(TestColorListOut)で、色見本を作ってください。 例: F1 にセルを置いて実行すると、F1:G11 までの範囲が使われます。 Alt + F8 で、シート名.TestColorListOut がありますから、クリックします。 色見本用カラーインデックス番号出力プログラム(TestGetColorIndex)は、人に渡すときに、使用します。 そこに出てきた番号を、TestColorListOut の中の以下の部分にコンマ区切りで書きますと、  myColorList = "54,39,33,42,34,50,4,45,40,7,3" そのまま色が反映されます。 画面上部に、 Const 色見本セル As String = "G1:G11" 'ここに書き入れます。 とありますから、そこに、色見本で、パターンに色の付いた範囲を入れてあげます。 ここの例では、G1:G11 に色が付いていることになります。 ただし、今回は、11セルまでです。それ以上入れると、エラーが発生するかもしれません。 ************************** シート・マクロの取り付け方: マクロを実行しようとするワークシートのシートタブ(下部のSheet1,Sheet2 ...)を右クリックすると、「コードの表示(V)」というメニューがありますから、それをクリックしてください。そして、開いた画面に、以下のコードを貼り付けて、Alt + Q で閉じれば設定は完了です。 ************************** 使い方は、条件付き書式と同じです。 入力すれば、色が変わります。 '------------------------------- 'Option Explicit '------------------------------ 'イベントマクロ '------------------------------ '画面の先頭に入れる Const 色見本セル As String = "G1:G11" 'ここに書き入れます。 Const 設定範囲 As String = "A:A" Dim idxColors() As Variant Private Sub Worksheet_Change(ByVal Target As Range)   Dim dum As Variant   Dim c As Range   Dim i As Long   If Intersect(Target, Range(設定範囲)) Is Nothing Then Exit Sub   On Error GoTo ErrHandler   dum = UBound(idxColors)   Application.EnableEvents = False   For Each c In Target     If c.Value <> "" Then       i = Application.Evaluate("11-INT(MIN(100,MAX(" & c.Address & ",0))/10)")       c.Interior.ColorIndex = idxColors(i - 1)       '文字列出力       'c.Offset(, 1).Value = Chr(64 + i)     Else       c.Interior.ColorIndex = xlColorIndexNone     End If   Next c   Application.EnableEvents = True ErrHandler:   If Err.Number = 9 Then     Call ConditionalFormat     Err.Clear     Resume Next   End If End Sub '------------------------------- '色見本取得ブログラム Sub ConditionalFormat() Dim i As Long Dim c As Range ReDim idxColors(Range(色見本セル).Rows.Count) For Each c In Range(色見本セル)  idxColors(i) = c.Interior.ColorIndex 'c.Font.ColorIndex  i = i + 1 Next c End Sub '=============================== '色見本用サンプルプログラム '------------------------------- '色見本 Sub TestColorListOut() Dim myColorList As String Dim ColorLists As Variant Dim i As Integer  '色番号リスト  myColorList = "54,39,33,42,34,50,4,45,40,7,3"  ColorLists = Split(myColorList, ",") 'カーソルを先頭に置くと  With Selection.Cells(1)   For i = 0 To UBound(ColorLists)    .Offset(i, 0).Value = Chr(65 + i)    .Offset(i, 0).Font.ColorIndex = ColorLists(i)    .Offset(i, 1).Interior.ColorIndex = ColorLists(i)   Next i  End With End Sub '-------------------------------------------- '色見本用カラーインデックス番号出力プログラム '-------------------------------------------- Sub TestGetColorIndex() Const セルは何個 As Integer = 11 Dim i As Long Dim c As Range i = セルは何個 'カーソルを色つきパターンの上の先頭に置くと With Selection.Cells(1) For Each c In .Resize(i)  c.Offset(, 1).Value = c.Interior.ColorIndex Next c End With End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.10

ランクわけ文字を表示なら =IF(A1="","",IF(A1>100,"A",IF(A1<10,"K",CHAR(75-INT(A1/10))))) ーー 2007の前は色なしを含め4色までというのは、エクセルの常識。 2007では拡張された。 ーー >マクロ機能を使うのですね。やってみたいと思います VBAの経験なさそうだがやれるかな。 それには結構色々な知識が要るよ。 例 A列の数について Sub test01() d = Range("A65536").End(xlUp).Row For i = 1 To d Select Case Cells(i, "A") Case Is > 100 ci = 6 Case Is > 90 c1 = 4 Case Is > 80 ci = 8 Case Is > 70 c1 = 36 Case Is > 60 ci = 35 Case Is > 50 c1 = 34 Case Is > 40 ci = 38 Case Is > 30 c1 = 40 Case Is > 20 c1 = 24 Case Is > 10 ci = 43 Case Is > 0 ci = 14 End Select Cells(i, "A").Interior.ColorIndex = ci Next i End Sub 色を11色も区別するのは難しいよ。背景色なら余り濃い色は適さないから、制約が多い。 ーー 下記実行して、色を指定してみて、C列に色コードが出るから、 考えてみてください。 Sub test02() For i = 1 To 11 x = Application.Dialogs(xlDialogPatterns).Show Cells(i, "C") = ActiveCell.Interior.ColorIndex Next i End Sub そのコードをTst01()のコードのCaseの それぞれの区画の Case Is > 100 ci = 6 の ci = 6 の6などと置き換えてください。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.9

>A~K(評価)に分けたいという意味でした。申し訳ありませんでした。 ただ、11段階に分けるだけなら、アルファベットにこだわらず 点数がA列の場合 =INT(A1/10) 下フィル(0,1,2,3,4,5,6,7,8,9,10の11段階評価) 結果を、どの様に活用するか知りませんが、総合評価で合計、グラフ表示する必要などありましたら、数値の方が便利かも。

全文を見る
すると、全ての回答が全文表示されます。
  • starsip
  • ベストアンサー率36% (22/60)
回答No.7

#2です。 補足について、下記URLを参照してみて下さい。 関数のネストレベル http://homepage3.nifty.com/hiro22219/kansu-nest.html ExcelのVBAに挑戦しよう http://www.ss-dc.com/tokusyu/tokusyu19.htm

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.6

例えばA1に点数があったとして、A1が空白の時はB1を空白、 それ以外の場合は判定結果を表示するとした場合、 B1 =IF(A1="","",CHOOSE(INT(A1/10)+1,"K","J","H","G","F","E","D","C","B","A")) ではどうでしょうか?

betterdays
質問者

お礼

 ご回答、ありがとうございます。確かに判別いたしました。A1の数値によってB1が判定してくれます。この場合、100とA1に打ち込むとエラーになってしまいます。私のやり方がいけないのかもしれませんが、どうなのでしょうか?よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • nobu555
  • ベストアンサー率45% (158/345)
回答No.5

検索値に対して、ランク付け出来ればよいのでしたら VLOOKUP関数出来ます。 C,D列に下記のリストがあるとして C  D 0  A 10 B 20 C ・ ・ ・ 100 K セルA1に検索値があり、セルB1に下記数式を入力 =VLOOKUP(A1,C1:D11,2) VLOOKUP関数については、ヘルプを参照するか 下記を参考にしてください。 http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/index3.htm

betterdays
質問者

お礼

 ご回答、ありがとうございます。VLOOKUPということも以前考えたことがありました。表を作ってその中から検出するといったようなものだったように思います。  今回の質問で、とにかくいろいろな関数があることが改めてわかりました。また、自分が使っているものは、ほんのわずかでしかないこともわかり、皆様には、大変感謝しております。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

EXCEL2003までは3つの条件書式と条件外の書式までが限度です。 EXCEL2007でなら最大64まで設定できます。 http://office.microsoft.com/ja-jp/excel/HA100778231041.aspx?pid=CH100648071041#ConditionalFormatting http://office.microsoft.com/ja-jp/workstyle/FX102072861041.aspx http://office.microsoft.com/ja-jp/excel/HA101655491041.aspx?pid=CH100740791041 ※EXCEL2003までで行うとしたら、VBAで変更するようにするしかありません。 過去の質問に同様のケースの回答があります。

betterdays
質問者

お礼

 ご回答、ありがとうございます。EXCEL2007は、簡単に複数の条件を設定できるのですね。IF関数でも限度があり、なかなか難しいものだと実感しました。いろいろと勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

条件付き書式=色を変えたいと言う事ですか?(11色) それとも、評価(A~K)に分けたいと言う事ですか?

betterdays
質問者

お礼

ご回答、ありがとうございます。わかりにくい質問でご迷惑をおかけしました。A~K(評価)に分けたいという意味でした。申し訳ありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • starsip
  • ベストアンサー率36% (22/60)
回答No.2

一例です。 関数ですが B1へ =IF(A1=100,"A",IF(A1>79,"B",IF(A1>59,"C",IF(A1>39,"D",IF(A1>19,"E",IF(A1>9,"F","G")))))) で、下方へオートフィル。

betterdays
質問者

お礼

 ご回答、ありがとうございます。なるほど関数で作るとなるとこのような数式になるのですね。一度、チャレンジしたいと思います。

betterdays
質問者

補足

 関数にするといくつでもいいのでしょうか?そのあたりも教えていただけるとありがたいです。

全文を見る
すると、全ての回答が全文表示されます。
  • pon-san
  • ベストアンサー率45% (169/371)
回答No.1

こんにちは。 Excel2007では様々な条件付き書式設定が可能になっていますが、 Excel2003以前のバージョンでは4つ以上は出来なかったと思います。 マクロ機能を使ってセルを塗り分けるしか方法がなかったと思います。

betterdays
質問者

お礼

 ご回答、ありがとうございます。Excel2007ではありません。そのため、条件付き書式が4つ以上ができません。マクロ機能を使うのですね。やってみたいと思います。

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

関連するQ&A

  • エクセル、条件付き書式で

        A B C D E   F G H I J K L M N O (1)  2 3 8 9 10   1 2 3 4 5 6 7 8 9 10 (2)  1 4 5 6 9   1 2 3 4 5 6 7 8 9 10 (3)  3 5 8 9 10  1 2 3 4 5 6 7 8 9 10 エクセルで A~Eのランダムな数字と一致する数字を、その右側に順に並んでいるF~Oの数字に条件付き書式などで色を付けたいのですが。 500行くらいあるので、なるべく早くできる方法ありませんか? 1行1行条件付き書式をやりましたが、気が遠くなってしまいます。 どうか教えて下さい。

  • エクセルで行が飛んだセルを一度に条件付書式(複数条件で色付けする)方法

    エクセルで行が飛んだセルを一度に条件付書式(複数条件で色付けする)方法 以下の表があるとします。b、d、f、h、jが、3以下を青&6以上を赤にセルを色付けする条件書式でセル毎に設定する以外で、一度に出来る方法を教えて下さい。行が膨大にある表があり、一つ一つセルをクリックして設定するには、間違いや労力もかかります。ご教授頂きたく、お願い致します。 a 1 b 5 c 2 d 9 e 8 f 2 g 1 h 5 i 4 j 3

  • 条件付き書式4つ以上のVBAについて教えてください。

    条件付き書式4つ以上でのVBAの作成方法を教えて下さい。 下記のような表があります。   A     B     C     D    E     F    G     H     I  J  K・・・ 1 開始日  終了日   開始日  終了日  開始日  終了日  開始日  終了日   4/1 2  3  4 ・・・ 2 2008/4/10 2008/4/20 2008/5/10 2008/5/20 2008/6/10 2008/6/30 2008/7/10 2008/7/19 (ここのセルに色をつけたい) 3 2008/4/03 2008/4/20 2008/5/10 2008/5/20 2008/6/10 2008/6/30 2008/7/10 2008/7/191 (ここのセルに色をつけたい) ・・・以下複数行 条件付き書式の設定方法 「数式が」「=AND(I$1>=$A1,I$1<=$B1)」の場合 「セルのパターンを(任意の色)」と設定 はわかるのですが、 開始日と終了日が4つ以上(実際は7つあります)あり これを1行に表したいのです。 各工程を色で表したいのです((1)工程A~B(セルの色:赤)、(2)工程C~D(青)…) できれば色をつけた上で、(1)工程と色がついたセルの上に入力したいです。 (※こちらは難しそうなので色をつける方法だけでもお願いします。)、 どうしてもVBAの設定がわからないので教えて下さい。よろしくお願い致します。 初心者なのでVBAの設定方法(どこに入力し、どのように実行すればよいか)も教えていただければ助かります!!

  • エクセルで2列以上のものを同時に並び替えするには

    エクセルで下記のようなデーターがあるとします。 1 A  G     B  H 2 C  I  ○   D  J 3 E  K   F  L このようにひとつの項目に2行づつあるものに対して、最後に○をつけたものを先頭に2行そのまま一気に並び替えるにはどのようにすればよろしいでしょうか?要するに 2 C  I  ○   D  J 1 A  G     B  H 3 E  K   F  L このようにしたいです。 よろしくお願いいたします。

  • エクセルの『条件付書式』について

    エクセルの『条件付書式の設定』についてご教示下さい。 F列の、 条件1:「G*」「F*」「C*」「D*」「I*」「J*」が含まれる場合背景をブルーに 条件2:「E*」「H*」「K*」が含まれる場合背景をピンクに。 条件3:「L*」「M*」「N*」「o*」が含まれる場合、背景を紫に。 ※「G*」とは、GOLD など、一番初めにGという文字がつく場合の文字列の事です。 条件のとおり、文字が含まれる場合背景を変えたいのですが、 数式、セルの値と色々試しましたが、条件1と条件2がうまくいきません。 また、F列以外にもG列H列もF列の条件で背景色を変動させてたいと 考えている為、なるべくVBAには頼らず、条件付書式で設定したいと考えております。 ご存知の方いらっしゃいましたら。お教えいただけますでしょうか。 よろしくお願い致します。

  • 条件1つで複数の値を抽出することはできませんか。

    エクセルのことなのですが、条件1つで複数の値を抽出してきたいと思っています。 しかし、様々な本やインターネットのサイトを参照したのですがうまくできません。 内容なのですが、「シート1」というシートがありこのシートを「シート2」のように番号で分けて、横に並べるようなシートを作りたいと思っています。 シート1 番号 品目 100 A 100 B 101 C 101 D 101 E 101 F 101 G 101 H 101 I 102 J 103 K 103 L シート2 番号 品目 100 A B 101 C D E F G H I 102 J 103 K L すみませんが教えていただけないでしょうか。 よろしくお願いします。

  • VBA

    1 a;b;c;d; 2 e;f;g;h; 3 i;j;k;l; をVBAで   1 a;   2 e;   3 i;   1 b;   2 f;    3 j;   1 c;   2 g;   3 k;   1 d;   2 h;   3 l; としたいのですが、どうしたらいいですか?

  • 条件付書式?色をつけたり空白にしたい。

    B7   C7   D7   E7   F7   G7   H7 各セルの表示は 7:31 17:00 465 1020 7:45 17:00  2:00 各セルの数式は B7,C7,H7はセルの書式設定で##":"##(このセルに数字を入れるだけにしてます) D7=INT(B7/100)*60+CEILING(MOD(B7,100),15) E7=INT(C7/100)*60+FLOOR(MOD(C7,100),15) F7=INT(D7/60)*100+MOD(D7,60) G7=INT(E7/60)*100+MOD(E7,60)になっています。 例えば、 B7セルに6:25としたら7:00より前なのF7セルのフォントとパターンの色を変えて  C7セルに18:52としたら18:00より後なのでG7セルのフォントとパターンの色を変える、 そしてC7セルが、空白の時はB7,F7,G7,H7セルを空白にしたいのですが、 よく分かりません、教えて頂けますか?

  • C言語の配列の使い方について質問です。

    以下のプログラムを配列を使って見やすくしたいのですが、どのように作ったら良いでしょうか? 宜しくお願いします。 #include<stdio.h> int main(void) { int a, b, c, d, e, f, g, h, i, j, k, l, m ,n, o; /*5段目の処理*/ for(a = 1; a <= 15; a++) { for(b = 1; b <= 15; b++) { if(a == b) continue; for(c = 1; c <= 15; c++) { if(a == c || b == c) continue; for(d = 1; d <= 15; d++) { if(a == d || b == d || c == d) continue; for(e = 1; e <= 15; e++) { if(a == e || b == e || c == e || d == e) continue; // printf("%d %d %d %d %d\n", a, b, c, d, e); ////4段目//// if(a>b){ f=a-b; } else if(a<b){ f=b-a; } if(b>c){ g=b-c; } else if(b<c){ g=c-b; } if(c>d){ h=c-d; } else if(c<d){ h=d-c; } if(d>e){ i=d-e; } else if(e<d){ i=e-d; } // printf(" %d %d %d %d \n", f, g, h, i); /////3段目//// if(f>g){ j=f-g; } else if(f<g){ j=g-f; } if(g>h){ k=g-h; } else if(g<h){ k=h-g; } if(h>i){ l=h-i; } else if(h<i){ l=i-h; } // printf(" %d %d %d \n", j, k, l); /////2段目//// if(j>k){ m=j-k; } else if(j<k){ m=k-j; } if(k>l){ n=k-l; } else if(k<l){ n=l-k; } // printf(" %d %d \n", m, n); /////三段目///// if(m>n){ o=m-n; } else if(m<n){ o=n-m; } // printf(" %d \n", o); if(a != b != c != d != e != f != g != h != i != j != k != l != m != n != o){ printf("%d %d %d %d %d\n", a, b, c, d, e); printf(" %d %d %d %d \n", f, g, h, i); printf(" %d %d %d \n", j, k, l); printf(" %d %d \n", m, n); printf(" %d \n", o); } } } } } } }

  • エクセルの条件付き書式を使ってセルに色を付けたい

    A2~D2以下のセルにある数字がランダムで並んでいるとします(各セルには一桁の数字のみ)。E1~H1にもある数字が並んだ時、同じ数字があれば、A2行のセル数字に色を付けたいんです。条件付き書式の数式を・・・でやると思うのですが、イマイチよく解りません。他の質問でも調べて自分なりに関数を使っているのですが、うまくいきません・・・?すいませんがどなたか教えて下さい、よろしくお願いします。 こんな感じで・・・    A B C D  E F G H 1             1 7 3 8 2   0 9 4 7(←色塗) 3 ・ ・

MFC-J987DN インクがかすれて出ない
このQ&Aのポイント
  • MFC-J987DNでの印刷がかすれてしまい、インクのヘッドクリーナーでは改善しない状況です。
  • Windows10と11の環境で有線LANと無線LANで接続されており、関連するソフトにはwordとexcelがあります。
  • 使用している電話回線はひかり回線です。
回答を見る

専門家に質問してみよう