Excel 基于第一个单词的条件格式

Excel 基于第一个单词的条件格式,excel,conditional-formatting,Excel,Conditional Formatting,这是我的产品列表,我正在尝试有条件地格式化,以便每一行有不同的第一个单词有不同的颜色。我该怎么做呢?这并不完美,但可能已经足够了 您可以使用第一个x字母ascii代码创建数字半唯一ID,然后使用它为单元格着色。这可以通过两种方式完成,但都是从创建一个新列(“辅助列”)开始,然后在第一个单元格中粘贴以下公式: code(左(B1,1))+code(中(B1,2,1))+code(中(B1,3,1))+code(中(B1,4,1))+code(中(B1,5,1))+code(中(B1,6,1)) 这

这是我的产品列表,我正在尝试有条件地格式化,以便每一行有不同的第一个单词有不同的颜色。我该怎么做呢?

这并不完美,但可能已经足够了

您可以使用第一个
x
字母ascii代码创建数字半唯一ID,然后使用它为单元格着色。这可以通过两种方式完成,但都是从创建一个新列(“辅助列”)开始,然后在第一个单元格中粘贴以下公式:
code(左(B1,1))+code(中(B1,2,1))+code(中(B1,3,1))+code(中(B1,4,1))+code(中(B1,5,1))+code(中(B1,6,1))

这将把每行的前6个字符(列
B
)转换为ascii码,并求和。如果6个字符不够,您可以通过添加
+code(MID(B1,x,1))
使用更多字符,其中
x
是一个递增的数字

在所有专栏中使用此药物后,您将得到如下结果:

  • 使用条件格式的颜色范围:
  • 这是一种更简单快捷的方法,可能比其他方法更适合您的需要。只需在第一列上使用范围颜色条件格式,就可以根据每行中的第一个单词获得颜色:

  • 使用颜色索引和VBA
  • 上述解决方案不会为所有行着色,如果这对您很重要,您可以尝试使用以下公式添加另一个帮助器列:

    =A1/最大值(A:A)*54

    其中
    A
    是第一个帮助器列。然后可以使用以下VBA代码:

    Alba Botanica Hawaiian Hand + Body - 24 oz. - Replenishing Cocoa Butter
    Alba Botanica Very Emollient Body Lotion - 32 oz. - Unscented Original
    Aveeno Active Naturals Daily Moisturizer - 2 x 4 oz.
    Aveeno Active Naturals Daily Moisturizing Lotion - 2 x 18 oz.
    Aveeno Clear Complexion Favorites - 6 oz. Cleanser + 4 oz. Moisturizer
    Cetaphil Moisturizing Lotion - 40 oz. - For All Skin Types
    Clean & Clear Daily Skincare Essentials - 20 oz. - Cleanser + Moisturizer
    Everyone Lotion For Every Body 3in1 - 32 oz. - Coconut + Lemon
    
    要为列
    C
    (现在是包含文本的列)添加颜色,颜色索引介于Excel中预设颜色的3-56之间(1和2为黑白):

    您可能会发现并非所有颜色都是可读的,但有效的颜色编码是有限制的(大约有7种颜色),因此这是问题的固有问题


    告诉我它是否解决了问题;)

    =LEFT(K9,FIND(“,K9,1))查找第一个单词。。。只需使用if语句即可算出真、假等和颜色。要为每个单词使用不同的颜色,您需要为每个单词创建一个规则。如果要在一种颜色和无颜色之间切换,则可以使用辅助列来执行此操作,使用以下公式
    =If(LEFT(A1,FIND(“,A1)-1)=LEFT(A2,FIND(“,A2)-1),B1,B1*-1)
    ,将用1和-1填充列。然后在该列上为1或-1制定一条规则。公式进入B2,并将
    1
    放入B1,然后复制下来。
    Sub format_text()
        Sheets(1).Select
        RowCount = Cells(Rows.Count, 1).End(xlUp).Row
        For i = 3 To RowCount
            Cells(i - 2, 3).Interior.ColorIndex = Cells(i - 2, 2).Value + 2
            Next
        End
    End Sub