Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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 在IF语句的单元格中是否可以使用通配符?_Excel_Excel Formula_Array Formulas - Fatal编程技术网

Excel 在IF语句的单元格中是否可以使用通配符?

Excel 在IF语句的单元格中是否可以使用通配符?,excel,excel-formula,array-formulas,Excel,Excel Formula,Array Formulas,我正试图建立一个表格,允许对大约50个不同特征的站点进行非常快速的分类。我已经想到了以下方法,但不确定是否可行 工作表A:每个单元格的100R x 50C原始数据 描述最后一列为 总体分类 工作表B:一个大约5R x 50C的表格,带有列 与工作表A中的列相对应 一行工作表B看起来像: * | * | * | 1 | * | 3 | * | Y | * | ... | * | * | * | A | B | C | 1 | 5 | 3 | Z | Y | 1 | ... | F | 2 |

我正试图建立一个表格,允许对大约50个不同特征的站点进行非常快速的分类。我已经想到了以下方法,但不确定是否可行

  • 工作表A
    :每个单元格的100R x 50C原始数据 描述最后一列为 总体分类

  • 工作表B
    :一个大约5R x 50C的表格,带有列 与
    工作表A中的列相对应

一行
工作表B
看起来像:

* | * | * | 1 | * | 3 | * | Y | * | ... | * | * | * |
A | B | C | 1 | 5 | 3 | Z | Y | 1 | ... | F | 2 | X | High Priority 
{=IF(AND(A2:BV2='Worksheet B'!$A$2:$BV$2), "High Priority", "Low Priority")}
与此数据对应的
工作表a
中的一行如下所示:

* | * | * | 1 | * | 3 | * | Y | * | ... | * | * | * |
A | B | C | 1 | 5 | 3 | Z | Y | 1 | ... | F | 2 | X | High Priority 
{=IF(AND(A2:BV2='Worksheet B'!$A$2:$BV$2), "High Priority", "Low Priority")}
其中星号表示通配符,我不在乎内容是什么。所有其他的电池都是需要条件的。然后我考虑在最后一列上应用一个数组公式来获得分类。比如:

* | * | * | 1 | * | 3 | * | Y | * | ... | * | * | * |
A | B | C | 1 | 5 | 3 | Z | Y | 1 | ... | F | 2 | X | High Priority 
{=IF(AND(A2:BV2='Worksheet B'!$A$2:$BV$2), "High Priority", "Low Priority")}
但是Excel将星号作为文本字符串内容,并将其计算为
FALSE


有没有办法让这一切顺利进行?或者是一种同样易于实现的替代方法?

我用一个相当优雅的解决方案找到了问题的根源。如果出现这种情况,请提出批评

={IF(SUM(IF(A2:BV2='Worksheet B'!A2:BV2,0,1))=COUNTIF('Worksheet B'!A2:BW2,"x"),"Top Priority", "Low Priority")}
其中
x
用于那些我不关心结果的单元格。因此,我在上面的单元格中使用了“x”而不是“*”,因此
工作表B
更像:

x | x | x | 1 | x | 3 | x | Y | x | ... | x | x | x |

如果有人感兴趣,该公式的工作原理是计算所有不匹配的元素,并对照结果中带有“x”的单元格数进行检查。如果这两个数字相等,则不匹配的数量等于我们不关心的单元格数量。

首先,您可以使用
而不是
。例如:
=IF(或(A1=1,B1=1,C1=1),“3个单元格中的一个等于1”,“不匹配”)
我要求所有特征匹配以提供有效分类。我更新了问题,以反映我要求所有指定的特征都匹配。我想我不明白您试图用通配符做什么,我以为您试图将某些列与特定值匹配,而允许其他列中的任何值。如果您的问题能够提供数据示例以及预期输出,或许会有所帮助。我已经更新了问题,希望现在能更清楚一些。COUNTIF和SUMIF允许您使用通配符,例如=COUNTIF(C6:C17,“J*”),其中C6:C17包含一年中的月份,将返回以“J”即3开头的月份数。也许这会有帮助。