繁体   English   中英

在单元格中搜索逗号分隔的数字

[英]Searching comma-separated numbers within a cell

我有一列包含许多逗号分隔的数字,例如:

   100633,101

    123,12

   100633,1000

如何搜索特定单元格是否包含数字100633

回应@Jean-FrançoisCorbett正确的言论,并基于以下回答

检查单元格是否包含子字符串

这是一个仅考虑逗号分隔值而在单元格A1中搜索文本100633的公式

=ISNUMBER(SEARCH(",100633,",","&A1&","))

它可以正确处理1,2,3,999100633999类的1,2,3,999100633999

您也可以使用FIND代替SEARCH函数。 FIND区分大小写。 通过SEARCH您可以使用通配符。

假设第一个目标单元格在A1中,则返回TRUE或FALSE:

=ISNUMBER(SEARCH(100633,A1))

如果是true或false,则返回自定义值:

=IF(ISNUMBER(SEARCH(100633,A1)),'yes','no)
=IF(FIND("100633",E11)=1,"Number Exists","Not Exists")

该公式搜索文本并返回它是否存在于单元格中

已更新:尝试使用以下excel公式:

=MID(E18,FIND("100633",E18),6)

VBA解决方案:

Function CommaSeparatedListContains(ByVal csv As String, ByVal v As String, _
    Optional ByVal delimiter As String = ",") As Boolean

    Dim i As Long
    Dim splitCsv() As String
    splitCsv = Split(csv, delimiter)
    CommaSeparatedListContains = False
    For i = LBound(splitCsv) To UBound(splitCsv)
        If splitCsv(i) = v Then
            CommaSeparatedListContains = True
            Exit Function
        End If
    Next i
End Function

用法示例:

=CommaSeparatedListContains(A1,100633)

在此处输入图片说明

使用以下方法...

    private boolean isNumberInvolved(String column, String number_to_check){
        String[] numberArray = column.split(",");
        for(int i=0; i<numberArray.length; i++){
            if(numberArray[i].equals(number_to_check))
                return true;
        }
        return false;
    }

暂无
暂无

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

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