【问题标题】:Excel - Find Strings in Column That Do Not Equal Array of ValuesExcel - 在列中查找不等于值数组的字符串
【发布时间】:2014-08-12 13:31:06
【问题描述】:

我有一列数据。我想从数组中一一找出所有不等于任何值的值。

我尝试定义一个像这样的数组的命名值

={"value1","value2","value3","value4","value5"}

..等等。

我可以使用哪些 excel 函数来查找未包含在数组中的值。

为什么函数没有遍历数组?它只测试第一个索引。

我试过这个: {=NOT(X8=NamedValue)}

还有=MATCH(NamedValue, X3,0)

两者都只测试数组中的第一个值。

【问题讨论】:

  • 应该明确值是字符串。
  • 看起来最简单的方法是定义一个数组常量,然后将其传递给lookup_value,尽管我仍然无法让 excel 遍历第一个值。跨度>

标签: excel excel-formula excel-2010 vba


【解决方案1】:

为此,您应该使用 Excel 的 MATCH() 函数。将0 提供给match_type 参数。更多信息请访问this link

使用示例:

将硬编码的值列表传递给公式:

=MATCH("dfs", {"erw","sad","dfs"}, 0)

将单元格区域传递给公式:

=MATCH("dfs", C1:C15, 0)

【讨论】:

  • 我试过了,得到的结果和我的测试一样。 =MATCH(NamedValue, X3,0)
  • 我也找到了这篇文章:office.microsoft.com/en-us/excel-help/… 但都没有提到将数组作为lookup_value 传递
  • 我刚刚检查过,=MATCH("def", {"abc","def","ghi"}, 0) 为我正确返回了2
  • 我的理解是第一个参数,在这种情况下"def" 是lookup_value,它应该是我想要返回true的值数组。那么lookup_array 应该是完整的值列表,对于不在数组中的任何字符串返回 false。
  • 好的,知道了。谢谢。
【解决方案2】:

假设 A 列是您的“好值”列表,B 列是所有值的列表。

A B 值 2 值 1 值 3 值 2 价值 4 价值 3 价值4 价值5 将下列公式放入C1,并向下复制

=IF(ISNA(VLOOKUP(B1,$A$1:$B$5,2,FALSE)),0,1)

这将在匹配的行中放置一个“1”,否则为 false。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2018-05-13
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    相关资源
    最近更新 更多