• ベストアンサー

エクセル2007条件付書式0以外の場合最小値色変え

エクセル2007です。 条件付き書式を使って最小値の色を変えたいのですが、 その際に0を除いての最小値、の色を変えたいのですが、 どのようにしたらよいでしょうか。 条件2として0以外の場合と入れると どのセルも色が変わらないことになってしまうようなのです。 よろしくおねがいします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3です。 >比較したいセルが、A1、C1、E1、G1 >という風にとびとびになっているのです というコトがかなり難しくしています。 条件付書式でなんとかやってみよう努力してみましたが、ギブアップです! そこでVBAになってしまいますが、一例です。 (作業用としてSheet2を使用していますので、Sheet2は全く使用していない!という前提です) 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA・C・E・G列データを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Target.Column > 7 Or Target.Column Mod 2 = 0 Or Selection.Count <> 1 Then Exit Sub Dim i, j As Long Dim ws As Worksheet Set ws = Worksheets("Sheet2") Application.ScreenUpdating = False Cells.Interior.ColorIndex = xlNone For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For j = 1 To 7 Step 2 If Cells(i, j) <> "" And Cells(i, j) <> 0 Then ws.Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = Cells(i, j) End If Next j For j = 1 To 7 Step 2 If WorksheetFunction.Count(ws.Rows(i)) And _ Cells(i, j) = WorksheetFunction.Min(ws.Rows(i)) Then Cells(i, j).Interior.ColorIndex = 3 '←「3」が「赤」 End If Next j Next i ws.Cells.Clear Application.ScreenUpdating = True End Sub 'この行まで ※ 条件付書式が設定してあるとマクロでの色変更はできませんので、 A~G列の条件付書式はすべて削除しておいてください。 他に良い方法があればごめんなさいね。m(_ _)m

yoshi0518
質問者

お礼

tom04さん ありがとうございます。 なかなかむずかしいですね。。 マクロはまだ勉強中で、、、 難しかったですが、 とても参考になりました! ありがとうございました!

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 仮にA1:B5範囲とします。 条件付き書式設定で「数式~」、=SMALL($A$1:$B$5,COUNTIF($A$1:$B$5,0)+1)=A1で如何でしょうか。

yoshi0518
質問者

補足

ありがとうございます。 一点、説明が足りませんでした。 比較したいセルが、A1、C1、E1、G1 という風にとびとびになっているのです。 アドバイスお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 仮にA1~F10セルの範囲内で、その中の0以外の最小値に色を付ける場合です。 A1~F10セルを範囲指定 → 条件付書式 → 新しいルール → 「数式を使用して・・・」を選択 → 数式欄に =A1=MIN(IF($A$1:$F$10<>0,$A$1:$F$10)) という数式を入れ → 書式 → 「塗りつぶし」→ 好みの色を選択しOK これではどうでしょうか? ※ 数式内のA1部分は範囲指定した一番左上(最初)のセル番地にしておきます。m(_ _)m

yoshi0518
質問者

補足

ありがとうございます。 一点、説明が足りませんでした。 比較したいセルが、A1、C1、E1、G1 という風にとびとびになっているのです。 アドバイスお願い致します。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

A列で最小値がゼロ以外の時に色を変えるのでしたら、以下の数式を条件にしてみて下さい。 =AND(A1=MIN(A:A),A1<>0)

yoshi0518
質問者

補足

ありがとうございます。 一点、説明が足りませんでした。 比較したいセルが、A1、C1、E1、G1 という風にとびとびになっているのです。 アドバイスお願い致します。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えばA列で最小値のセルに色を付けるのでしたら A列を選択してから「条件付き書式」の設定で「数式が…」で数式の窓には次の式を入力します。 =A1=SMALL(A:A,COUNTIF(A:A,0)+1) 「書式」では「塗りつぶし」のタブから色を設定すればよいでしょう。

yoshi0518
質問者

補足

ありがとうございます。 一点、説明が足りませんでした。 比較したいセルが、A1、C1、E1、G1 という風にとびとびになっているのです。 アドバイスお願い致します。

関連するQ&A