【问题标题】:Compare Employee Names To Master List将员工姓名与主列表进行比较
【发布时间】:2017-03-21 07:08:11
【问题描述】:

我正在将员工列表与主列表进行比较,并进行计数。这可以正常工作,但现在我需要添加一个警告,以从计数中忽略某些员工姓名(如Manager, Supervisor, Mgr, Sup)。

收到的列表在 A 列中有位置,在 C 列中有名称 - 所以我需要从计数中忽略上面数组中存在于 C 列中的名称。

... 这是我用来返回计数的 -> 如何修改它以忽略上面列出的名称数组?

Const shLookup As String = "Master List"
Const shSetup As String = "Received"

With Worksheets(shLookup)
aData = .Range("a1").CurrentRegion
End With
ReDim aOutput(1 To UBound(aData), 1 To 3)
For i = 2 To UBound(aData)
iCount = Evaluate("=COUNTIF('" & shSetup & "'!A:A,'" & shLookup & "'!A" & i & ")")
If aData(i, 2) <> iCount Then
    n = n + 1
    aOutput(n, 1) = aData(i, 1)
    aOutput(n, 2) = aData(i, 2)
    aOutput(n, 3) = iCount
End If
Next

编辑
示例工作表数据如下所示:

Master List sheet
Store   EmpCount
Memphis  23
Houston  13
Phili    10


Received List Sheet
Store   Region   EmpName
Memphis East     Joe
Memphis East     James
Memphis East     Jane
Memphis East     Supervisor
Memphis East     Manager

我要确保收到的名单上有 23 名孟菲斯的员工,不包括上面的名字。

编辑 2
根据@PKatona 在 cmets 中的建议-看起来我可以使用CountIF() 函数来计算“忽略”值,然后从我的整个计数中减去该计数。这种语法似乎一一适用,但是,我将如何将其调整为数组?

I.E.这会给我Manager 的计数,但我需要搜索其他流行词:

iIgnore = Evaluate("=COUNTIF(Range('" & shSetup & "'!A:A,'" & shLookup & "'!A" & i & "),"Manager")")

【问题讨论】:

  • 你能给我们一个你的列的样本表吗?
  • @CLR - 已更新以显示示例数据。
  • 如何添加“CountIf”命令来计算您不想要的值,然后从 iCount 中减去?像 iCount = iCount - Evaluate(CountIf(...))。
  • @PKatona - 不知道如何在我的语法中实现它。例子?

标签: vba excel excel-2013


【解决方案1】:

在没有语法检查的情况下,这是我创建忽略值数组然后计算它们的方法:

dim ignore() as String
ignore = Split("Manager,Supervisor,Mgr,Sup", ",")
dim ignoreCnt as integer
ignoreCnt = 0
dim aIdx as integer

for aIdx = 0 to UBound(ignore) - 1
    ignoreCnt = ignoreCnt + Evaluate("=COUNTIF(Range('" & shSetup & _
          "'!A:A,'" & shLookup & "'!A" & i & "),ignore(aIdx))")
next aIdx

ignoreCnt 现在具有您要忽略的值的总数。如果还有更多,只需将它们添加到Split行中的字符串中,UBound函数会自动获取循环的上限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多