web-dev-qa-db-ja.com

テキスト値に基づくカラーセル

Excel列には、その行のカテゴリを表すテキスト値が含まれています。

手動で各値の条件付き書式を作成せずに、異なる値を持つすべてのセルを一意の色に書式設定する方法はありますか?

例:カテゴリbedroom, bedroom, bathroom, kitchen, living roomがある場合、bedroomを含むすべてのセルを特定の色に、bathroomを別の色などにします。

23
Steven
  1. フォーマットしたい列を空のワークシートにコピーします。
  2. 列を選択して、リボンの[データ]タブの[データツール]パネルから[重複の削除]を選択します。
  3. 一意の値の一覧または文字列の右側に、一意の数値の一覧を作成します。たとえば、色付けするカテゴリが6つある場合、2番目の列は1〜6になります。これはあなたのルックアップテーブルです。
  4. 新しい列では、VLOOKUPを使用してテキスト文字列を新しい色にマッピングします。
  5. 新しい数値列に基づいて条件付き書式を適用します。
6
Eric

以下のスクリーンショットはExcel 2010のものですが、2007年も同じです。

セルを選択してConditional Formatting | Highlight Cells Rules | Text that Containsに行きます

UPDATE:ワークシート全体に条件付き書式を適用するには、すべてのセルを選択してから条件付き書式を適用します。

enter image description here
(画像をクリックすると拡大します)

今すぐあなたが望むどんなフォーマットでも選択してください。

enter image description here

11
Nicu Zecheru

から: http://www.mrexcel.com/forum/Excel-questions/861678-highlighting-rows-random-colors-if-there-duplicates-one-column.html#post4185738

Sub ColourDuplicates()
Dim Rng As Range
Dim Cel As Range
Dim Cel2 As Range
Dim Colour As Long




Set Rng = Worksheets("Sheet1").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
Rng.Interior.ColorIndex = xlNone
Colour = 6
For Each Cel In Rng


If WorksheetFunction.CountIf(Rng, Cel) > 1 And Cel.Interior.ColorIndex = xlNone Then
Set Cel2 = Rng.Find(Cel.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchDirection:=xlNext)
    If Not Cel2 Is Nothing Then
        Firstaddress = Cel2.Address
        Do
        Cel.Interior.ColorIndex = Colour
        Cel2.Interior.ColorIndex = Colour
            Set Cel2 = Rng.FindNext(Cel2)

        Loop While Firstaddress <> Cel2.Address
    End If




Colour = Colour + 1


End If
Next


End Sub
2
Karmo

条件付き書式を選択する自動色は、Microsoft Excelの機能ではありません。

ただし、カテゴリ列の値に基づいて行全体に個別に色を付けることができます。

  1. 条件付き書式設定で新しい書式設定規則を作成します。
  2. 式を使用して、どのセルをフォーマットするかを決定します。
  3. 式:=$B1="bedroom"(カテゴリ列をBとする)
  4. 書式設定(塗りつぶし色を使用)
  5. すべてのセルにルールフォーマットを適用する
1
Steven