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

Excel - identify cells with multiple instances of the same values

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

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

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

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

"Yes" 或 "No" 需要放在 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:$U;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 中的数据,您可以使用:

编辑 添加了前面的逗号以使公式更可靠

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

应通过按住 ctrl + shift 的同时按 enter 来输入公式。如果操作正确,Excel 将在公式栏中的公式周围放置大括号 {...}。然后根据需要填写公式

EDIT 2 如果正在测试的单元格中可能有空格,请尝试使用此公式来删除这些空格:

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