vba - 即使有数据,具有多个条件的 MATCH 也始终返回 #NA

标签 vba excel excel-formula array-formulas

我有一个场景来查找两列中两个值的匹配索引。所以基于这个链接Click我尝试用这种方法获取以下数据。

Holidays    Location    Multiplier
26-01-2018  INDIA   2
01-05-2018  INDIA   2
15-06-2018  INDIA   2
15-08-2018  INDIA   2
02-10-2018  INDIA   2
19-10-2018  INDIA   2
06-11-2018  INDIA   2
25-12-2018  INDIA   2
26-01-2018  SINGAPORE   2

这是我在 G2 上的公式

=MATCH(1,(B2:B10="INDIA"),0)

但它总是返回#NA

但是如果我尝试

=MATCH("INDIA",B2:B10,0)

它返回正确的1。那么另一种方式有什么问题

最佳答案

如果您打开“公式评估”框并查看公式发生了什么

=MATCH(1,(B2:B10="印度"),0)

然后您会发现正常输入导致它仅评估单个单元格,即 B2

检查结果为TRUE。因此,当 Excel 尝试将其与数字结果匹配时,它会正确返回“#N/A”,因为它找不到 1。

所以首先您需要将其输入为数组公式(CTRL+SHIFT+ENTER),例如:

=MATCH(1,(B2:B10="印度")+0,0)

这会导致结果为数字,或者您可以使用:

=MATCH(TRUE,(B2:B10="印度"),0)

关于vba - 即使有数据,具有多个条件的 MATCH 也始终返回 #NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49000903/

相关文章:

arrays - Excel VBA - 如何使用单个命令从 3D 矩阵复制 2D 矩阵内容?

python - 使用 Python 在 Excel (.xlsx) 中查找和替换字符串

c# - 为什么 EPPlus 告诉我 "Can' t set color when patterntype is not set"当我设置了 PatternType 时?

excel - 日期格式 英语/法语

excel - 检索 Excel 中列等于某值的单元格列表

VBA UDF 更改所有工作表上的值。怎么限制为1?

excel - 在 Excel 2010 中生成数据透视表的 VBA 代码

excel - 在 WCF 数据服务中指定空 IQueryable 中的列?

excel - 从另一列中查找文本并将其替换为相邻值

ms-access - 从网站上的表格中抓取数据,而无需搜索标签