如何突出显示和列出字母数字序列中的缺失值
我正在使用Excel 2010.我有一列包含四位数字序列的数据。 这些序列由一系列字母组成,并遍历一个从100-999的数字。 所以A100,A101,A102 … A999,然后是B100,B101 …一直到Z999。 有24,000个这样的序列(即行)。
我第一次尝试下面的VBA脚本:
Function MissingNumbers(Rng As Range) As String Dim X As Long, MaxNum As Long MaxNum = WorksheetFunction.Max(Rng) ReDim Nums(1 To MaxNum) For X = 1 To MaxNum If Rng.Find(X, LookAt:=xlWhole) Is Nothing Then MissingNumbers = MissingNumbers & ", " & X End If Next MissingNumbers = Mid(MissingNumbers, 3) End Function
…但是当我用=MissingNumbers(A1:A23400)
调用它的时候遇到了一个错误,我猜测这是因为函数不能在序列的开头parsing字母。
我的问题:我可以使用什么公式来突出显示并在第一列中分别列出缺失值?
为了额外的澄清,在范围内缺less的值
C996 C998 C999 D101
…将会…
C996 *C997* C998 C999 *D100* D101
提前致谢。
也许有更快捷的方法来做到这一点…但是这是一个小样本testing和产生的结果。
Function MissingSequence(Rng As Range) As String Dim iCnt As Integer For iCnt = 65 To 90 'ASCI characters for alphabet AZ Dim iNum As Integer For iNum = 100 To 999 Dim sCheck As String sCheck = Chr(iCnt) & iNum If Rng.Find(sCheck, lookat:=xlWhole) Is Nothing Then Dim sMissingNumbers As String sMissingNumbers = sMissingNumbers & "," & sCheck End If Next Next MissingSequence = Mid(sMissingNumbers, 2) End Function