经过3个小时的搜索,我仍然没有找到答案,这就是我想要做的事情:
我正在尝试用绿色填充任何包含WBS的行,使用红色填充其中包含ACT的行和蓝色任何包含EPR的行。它适用于第一个公式,然后当我尝试添加第二个公式时,每个事情都搞砸了。
答案 0 :(得分:0)
我所理解的是你需要连续搜索一个关键字,如果在该行的任何单元格中找到它,那么就给它上色。
可能我们可以使用条件格式来完成它,但我有另一个想法。我们可以在Excel VBA中创建一个简单的搜索功能。像这样:
= search_row(A1:F1, “EPR”)
如果在指定行的任何单元格中找到EPR,则该函数将返回1。现在,如果在数据列的末尾创建两个不同的列,请先使用WPS命名,然后使用EPR命名,并在其中写入此函数。像
G1 = search_row(A1:F1,“WPS”)
H1 = search_row(A1:F1,“EPR”)
将其拖至结尾。现在对列进行排序。首先是WPS从高到低。然后在单个选择中为所有行着色1。同样地,对EPR(H1)列进行相同的操作。
要使用此功能,您可以从以下URL下载宏文件:
http://asimishaq.com/myfiles/SearchHighlight.xlsm
现在首先运行它启用宏,然后重新打开数据文件,然后打开此宏文件。只要打开此宏文件,就可以使用此功能。如果您想自己创建宏,以下是VBA代码:
Function search_row(sRow As Range, Keyword As String)
Dim i As Integer
Dim Found As Integer
For i = 1 To sRow.Columns.Count
If InStr(1, LCase(sRow.Cells(1, i)), LCase(Keyword)) > 0 Then
search_row = 1
End If
Next
End Function
答案 1 :(得分:0)
我有一个类似于asim-ishaq的功能,以确定你的搜索词是否存在于行中以获得乐趣:)然后尝试将其应用于突出显示行,结果我不知道如何使用条件格式非常好!最后弄清楚了,希望我已经解释得很好了。
使用此功能,您必须在数据末尾添加(一个)额外列以包含结果。
通过将函数放在条件格式中可能不需要额外的列,但是我无法使它工作(没有非常努力)。这不是一个很大的损失,因为如果在工作簿上编辑公式更简单,而不是必须通过每个条件规则来编辑它,如果您将来需要编辑它。
要使格式化生效,您需要创建一些规则(每个关键字一个)
您想要创建下面显示的类型的规则,在公式框中您需要以下内容:=INDIRECT("D" & ROW())=0
其中D
是包含下面函数结果的列,{ {1}}是您要突出显示的关键字的索引。
在我的示例中,0
列中的公式为:D
(其中n是公式所在的行)
根据需要设置格式,然后按确定,当您返回规则管理器时,您需要更新=SearchRow(An:Cn,"ABS","KBS","JBS")
值,该值应该是一个涵盖您要突出显示的所有数据的范围。在我的例子中,它是Applies to
我的下面的函数需要2个以上的参数,第一个是要搜索的范围。第二个(以及任何后续的)是搜索词。
该函数将返回一个数字。 -1表示没有匹配,0 +表示找到的搜索字词。数字取决于参数中的位置。
$A$1:$C$3
该函数将始终返回第一个结果,从左到右搜索按顺序将每个单元格与关键字进行比较。使用我的示例,如果单元格包含“SBA ABS”,则结果将为0(对于ABS)。我猜你的单元格可能只包含一个关键字,所以这应该不是问题吗?
A1 = "ABS"
B1 = "SBA"
A2 = "SBA"
B2 = "ABS"
A3 = ""
B3 = ""
C1 = "=SearchRow(A1:B1, "ABS", "SBA")"
C2 = "=SearchRow(A2:B2, "ABS", "SBA")"
C3 = "=SearchRow(A3:B3, "ABS", "SBA")"
C1 > 0
C2 > 1
C3 > -1