如何检查数字系列的单元格?


0

我在评估excel单元时遇到了一些问题。例:

          M   M   M   M   M   M   M   M   M   
          1   2   3   4   5   6   7   8   9
2;5;7
1;9
3;5;7;9   

我有一些excel单元格包含数字(月)。在第一列中,我有一系列数字。我想使用条件格式来为右列中的相应单元格着色。如果颜色正确我会得到这样的东西:

          M   M   M   M   M   M   M   M   M   
          1   2   3   4   5   6   7   8   9
2;5;7         X           X       X
1;9       X                               X
3;5;7;9           X       X       X       X

我现在的公式是这样的:

IF(ISNUMBER(FIND(L$22;$K23));$H23;"")

但问题是细胞也是有色的,其中包含一部分数字。如果我输入10; 15作为输入,我得到这个:

          M   M   M   M   M   M   M   M   M   M   M   M   M   M   M
          1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
10;15     X               X                   X                   X

因为也发现了1和5。我只希望标记第10列和第15列。如何更改公式或输入?

Answers:


0

篡改您的输入数据可能是一个“欺骗” - 但也许最容易!我会在输入数据的开头和结尾添加一个半冒号,然后使用

=FIND(";"&L$22&";",$K23)>0

虽然我认为你还必须用半冒号替换这个公式中的逗号。


1
无需更改源数据。使用 =FIND(";"&L$22&";",";"&$K23&";")>0 (或在OP的本地 =FIND(";"&L$22&";";";"&$K23&";")>0
chris neilsen

@chrisneilsen那是一个 许多 更好的答案(即动态添加'额外'分隔符')。我正在寻找你的其他一些宝石的答案!
pnuts

0

我找到了一些VBA功能,我将其更改为此功能:

Function CHECK_INTERVALL(str, colmonth, sepChar)

Dim months As Variant
months = Split(str, sepChar)
Dim i As Integer

CHECK_INTERVALL = False

For i = LBound(months) To UBound(months)
        If CInt(colmonth) = CInt(months(i)) Then
            CHECK_INTERVALL = True
        End If
Next i

End Function

如果当前月份在列表中,我会得到真实,并且条件格式为单元格着色。


你是否意识到你可以,确实被鼓励,转换帽子(因为这是帽子季节!)并以你的身份接受这个(你自己的)答案?应该有一个勾勒出的勾号,您可以点击,转为绿色。
pnuts
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.