【发布时间】:2017-05-25 17:06:21
【问题描述】:
我使用的是 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) 调用它时遇到了错误,我猜这是因为该函数无法解析序列开头的字母。
我的问题:我可以使用什么公式突出显示并单独列出第一列中的缺失值?
为额外说明,范围内的缺失值
C996
C998
C999
D101
……应该是……
C996
*C997*
C998
C999
*D100*
D101
提前致谢。
【问题讨论】:
标签: excel excel-formula excel-2010 vba