【问题标题】:How to use VLOOKUP result as COUNTIF criteria如何使用 VLOOKUP 结果作为 COUNTIF 条件
【发布时间】:2015-03-21 09:01:48
【问题描述】:

我希望能够确定一个人的特定 ID(例如 #123)在给定名称(例如 Bob)的单独列(例如 column C)中出现了多少次。

我有:

  1. 让列 A 由多个名称组成。 (Bob)
  2. 让列 B 包含与人名相关的 ID。 (#123)
  3. 让列 C 包含相同的 ID,但它可能包含重复的 ID(可能有三个 #123s)

ID 与每个人各自的姓名并排显示。

如何使用VLOOKUP 的结果作为COUNTIF 函数的条件(第二个参数)?

如果我单独使用VLOOKUP,它会返回我要计算的正确值。 =VLOOKUP(Bob, column A:column B, 2, FALSE) 将返回 #123

如果我单独使用COUNTIF,它也会返回正确的计数值。 =COUNTIF(column C, #123) 将返回 3

我试过=COUNTIF(column C, VLOOKUP(Bob, column A:column B, 2, FALSE)),但它返回0

我尝试使用VLOOKUP 公式将COUNTIF 的条件引用到一个单独的单元格,但它仍然返回0

因此,当我将两者结合在一起时,它似乎停止工作。可能是什么问题,有什么替代方案?

【问题讨论】:

  • 很难判断你是否真的有鲍勃或“鲍勃”,请你发布你的实际公式

标签: excel excel-formula vlookup worksheet-function countif


【解决方案1】:

@Steve Martin 有一个正确的观点,但假设 Bob 是文本,你的公式是正确的,虽然语法应该是:

=COUNTIF(C:C,VLOOKUP("Bob",A:B,2,0))  

如果这是您正在使用的并且它返回 0 而不是正确的结果,最可能的原因是 ColumnB 中的 #123 与 ColumnC 中的任何 #123 不同。 (反过来,最可能的原因可能是一个或多个尾随空格 - 在检查 ColumnsB:C 中的单元格时不会显示)。

要检查,只需将 ColumnC 中的一个 #123s 复制到 ColumnB 中紧靠 Bob 右侧的第一个 #123 的顶部。如果您随后看到大于0 的结果,您就“在正确的轨道上”并且可能想要应用TRIM 来删除多余的空间。

简而言之,VLOOKUP 会尝试匹配实际的单元格内容而不是可见的单元格内容,它会识别 #123#123  之间的差异,即使它不会以不同方式显示两者。

【讨论】:

  • AHHHH 我自动假设不会有任何尾随空格,所以这就是问题所在。感谢大家的回复!
【解决方案2】:

就我而言:

=COUNTIF(C:C,VLOOKUP(A1,A:B, 2, FALSE))

完美运行。始终尝试按 F9 重新计算公式。格!

【讨论】:

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