繁体   English   中英

Excel-标识具有相同值的多个实例的单元格

[英]Excel - identify cells with multiple instances of the same values

需要找到B列中包含3个或更多21个特定值的单元格。

以下是具体值(每个4个字母的字符串是单个值)。-3544 3538 3506 3502 3398 3396 3394 3392 3390 3388 3386 3386 3384 3376 3362 3288 3270 3230 3228 1944 1866 1384

*要澄清更多-有21个值(在可能的更大值组中),需要标识包含3个或更多这些值的单元格。

*编辑2-在这些单个单元格(都在B列中)中,有任意多个值,并用逗号分隔。 21个可能的值是指对于3个或更多相同事件,需要在较大的一组值中查看的特定值。 换句话说,在这些单个单元格中,将存在并非上述21个可能值中的任何一个的数字。

在此处输入图片说明

C列中需要输入“是”或“否”。

编辑:这是自您更改要求以来的新版本

您可以使用以下模块功能:

Public Function SplitFind(str As String, values As Range, minoccurs As Integer) As Boolean
    Let parts = Split(str, ",")
    Dim f1, f2, f3 As Boolean
    Dim occurs As Integer
    occurs = 0
    For Each cel In values.Cells
        Let sval = Val(cel.Value)
        Dim found As Boolean
        found = False
        For Each s In parts
            Let n = Val(s)
            If n = sval Then
                found = True
            End If
        Next s
        If found Then
            occurs = occurs + 1
        End If
    Next cel
    SplitFind = occurs >= minoccurs
End Function

现在假设您要在单元格A1-U1中找到21个值。 并且第一个具有逗号分隔值的单元格在A2中。 然后,您可以使用以下公式来检查A1-U1中的3个或多个值是否出现在A2中:

=SplitFind(A2;$A$1:$U$1;3)

以下是有关如何添加自定义功能的指南: http : //www.dummies.com/software/microsoft-office/excel/how-to-create-custom-excel-functions/

让我们想象所有那些特殊的单元格都在A列中。对于我的回答,让我们想象一下第1行的值2212,2280,7809,8990,9113,3876在单元格A1中。 我会用:

=IF(AND(IFERROR(FIND("8990";A1;1);0)>0;IFERROR(FIND("2212";A1;1);0)>0;IFERROR(FIND("7809";A1;1);0)>0);"YES";"NO")

我使用的是西班牙语版本的Excel,因此我手动翻译了公式,但基本上是1 IF与1 AND组合,以及3 IFERROR和3 FIND 原始公式为:

=SI(Y(SI.ERROR(ENCONTRAR("8990";A2;1);0)>0;SI.ERROR(ENCONTRAR("2212";A2;1);0)>0;SI.ERROR(ENCONTRAR("7809";A2;1);0)>0);"YES";"NO")

如果我记录了宏,VBA会这样做(也许可以帮助您键入它):

ActiveCell.FormulaR1C1 = _
        "=IF(AND(IFERROR(FIND(""8990"",RC[-2],1),0)>0,IFERROR(FIND(""2212"",RC[-2],1),0)>0,IFERROR(FIND(""7809"",RC[-2],1),0)>0),""YES"",""NO"")"

希望这可以帮助。 在我的Excel中,它工作得很好:

在此处输入图片说明

您可以使用数组公式。

通过在D1:D3中查找的值以及在A1中查找的数据,可以使用此命令:

EDIT 添加了前面的逗号,以使公式更可靠

=COUNT(FIND(","&$D$1:$D$3&",",","&A1&","))>=3

按下Enter键的同时按住ctrl + shift键即可输入公式。 如果正确执行此操作,则Excel将在公式栏中的公式周围放置括号{...} 然后根据需要填写公式

编辑2 如果要测试的单元格中可能有空格,请尝试使用以下公式删除这些空格

=COUNT(FIND(","&$D$1:$D$3&",",","&SUBSTITUTE(A1," ","")&","))>=3

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM