- ベストアンサー
【Excel】条件付き書式で特定の値の行に色付けする方法
- エクセルで商品の在庫管理をしていますが、特定の条件に基づいて行に色を付けたいです。具体的には、セルA1の値が「僕だよ」の場合に特定の行に色を付けたいです。条件付き書式の設定にはINDIRECT関数を使用しますが、AND関数との組み合わせでうまく動作しない場合があります。正しい設定方法を教えてください。
- エクセルの条件付き書式を使用して、特定の条件に一致する行に色を付けたいです。具体的には、セルA1の値が「僕だよ」の場合に同じ商品の行に色を付けたいです。INDIRECT関数を使って特定の行を指定する方法は分かりますが、AND関数との組み合わせで色が付かない問題があります。正しい設定方法を教えてください。
- エクセルの条件付き書式で、特定の条件を満たす行に色を付けたいです。具体的には、セルA1の値が「僕だよ」の場合に同じ商品の行に色を付けたいです。条件付き書式の設定にはINDIRECT関数を使用する必要がありますが、AND関数を使ってうまく組み合わせる方法がわかりません。適切な設定方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
条件付き書式の数式を =CELL("ROW")=($A$1="僕だよ")*ROW() に変更する シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに private sub worksheet_selectionchange(byval Target as excel.range) application.screenupdating = true end sub と記述する。
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
マクロを使わなければできませんね。 使おうとしているシート見出しを右クリックして「コードの表示」を選択します。 表示の画面の右の窓には次のコードを入力します。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) On Error Resume Next If Range("A1") = "僕だよ" Then Application.ScreenUpdating = False Cells.Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With For i = 2 To Range("A65536").End(xlUp).Row If WorksheetFunction.CountIf(Range("A:A"), Cells(i, 1)) > 1 And Cells(i, 1) = Cells(Target.Row, 1).Value Then Range(Cells(i, 1), Cells(i, 20)).Interior.ColorIndex = 3 End If Next Range("A1").Select Application.ScreenUpdating = True End If End Sub A1セルに僕だよと入力してからどこかのセルでダブルクリックをすることでそれと同じ商品コードの行には赤色が表示されます。 作業が終わって赤色の表示を無くす場合には関係のないセルでダブルクリックをします。その後にA1セルの文字を消去すればよいでしょう。
お礼
とてもはやい回答ありがとうございます。 さっそく試させていただきました。 申し訳ありません。 条件付き書式で色付けしたい理由として、 「もともとついているセルの色を消したくない…」というのがあります。 貴重なお時間を割いていただいたのに、私の説明不足のせいで、、、大変申し訳ないです。ごめんなさい。
お礼
ありがとうございます。すばらしい発想ですね!!! すごく参考になっています。しかし、まだうまくいきません。 教えていただいた式を参考にさせていただき、安易に =INDIRECT("A"&CELL("ROW"))=($A$1="僕だよ")*INDIRECT("A"&ROW()) としてみました。 でもこれだと、A1に「僕だよ」と入力していない場合も、他のセルに色がついてしまいました。 もう少し頑張ってみます。 やりたいことは、 セルか何かにパスワードを入れると、簡単に、秘密の条件付き書式が設定されるといったことです。 そして、その秘密の条件付き書式が設定されていることは、できるだけ仲間以外にはバラしたくないのです。 秘密の条件付き書式というのは =INDIRECT("A"&ROW())=INDIRECT("A"&CELL("ROW"))がトゥルーならばセルの色を… といったものです。 ぜひともよろしくお願いいたします。
補足
keithin様、お世話になっております。 この度はベストアンサーをありがとうございました。 あれから考えまして、美しさに欠けますが、条件付き書式を二つ作ることでやっていけそうな気がしております。 一個目 =$A$1<>"僕だよ" ならば書式設定なし 二個目 =($A$1="僕だよ")*INDIRECT("A"&CELL("ROW"))=INDIRECT("A"&ROW()) ならばセルを塗りつぶす。 もしもっと美しい方法をご存知であればぜひともご一報ください。 かしこ。