Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-在列中查找不等于值数组的字符串_Excel_Excel Formula_Excel 2010_Vba - Fatal编程技术网

Excel-在列中查找不等于值数组的字符串

Excel-在列中查找不等于值数组的字符串,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,我有一列数据。我想从一个数组中逐个查找所有不等于任何值的值 我尝试定义一个命名值,它是这样的数组 ={“value1”、“value2”、“value3”、“value4”、“value5”} …等等 我可以使用哪些excel函数查找数组中不包含的值 为什么函数不遍历数组?它只是测试第一个索引 我试过这个: {=NOT(X8=NamedValue)} 和=匹配(NamedValue,X3,0) 两者都只测试数组中的第一个值。为此,应使用Excel的MATCH()函数。向match_type参数提

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

我尝试定义一个命名值,它是这样的数组

={“value1”、“value2”、“value3”、“value4”、“value5”}

…等等

我可以使用哪些excel函数查找数组中不包含的值

为什么函数不遍历数组?它只是测试第一个索引

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

=匹配(NamedValue,X3,0)


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

为此,应使用Excel的
MATCH()
函数。向
match_type
参数提供
0
。有关更多信息,请访问

用法示例:

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

=MATCH("dfs", {"erw","sad","dfs"}, 0)
=MATCH("dfs", C1:C15, 0)
将单元格范围传递给公式:

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

假设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。

应该清楚这些值是字符串。看起来最简单的方法是定义一个数组常量,然后将其传递到
查找值中
,尽管我仍然无法让excel迭代超过第一个值。我尝试了这个方法,得到了与测试相同的结果
=MATCH(NamedValue,X3,0)
我也找到了这篇文章:但他们都没有提到将数组作为
查找值传递给我,而
=MATCH(“def”,“abc”,“def”,“ghi”},0)
正确地为我返回
2
。我的理解是第一个参数,在本例中
“def”
是查找值,这应该是我要为其返回true的值数组。然后
lookup\u数组
应该是完整的值列表,对于不在数组中的任何字符串,都返回false。Ok,明白了。非常感谢。