簡體   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