如果单元格1-10(范围)包含X,则单元格11应返回A或如果单元格范围1-10包含Y,则单元格11应返回B

时间:2017-04-19 08:29:16

标签: excel

感谢您的帮助。如果单元格1-10(范围)包含X,则单元格11应返回A或如果单元格范围1-10包含Y,则单元格11应返回B

我在这个论坛中遇到了类似的例子,即= IF(OR(A1 =“X”; A1 =“Y”; A1 =“Z”; A1 =“G”; A1 =“H”; A1 =“来自Excel: if cell 1 contains X or Y or Z, then cell 2 should equal W的J“);”W“;”“)。

它与我需要的类似,但无法使用A1:A10搜索/引用单元格区域。我已经尝试修改它但不断出错。

感谢您的帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

我假设您的所有值都是文本,即当您说“X”表示字母“X”并且您正在使用单个字母时。

我认为这是需要一起解决的两个问题。第一个问题是将1到10的所有单元格放到一个我们可以使用的单个字符串中。第二个是看我们的信是否在文本中。

不确定Microsoft何时将其添加到Excel,但TEXTJOIN()将为我们进行连接。因此,为了从单元格A1-A10中获取所有字符,我们使用=TEXTJOIN("",TRUE,A1:A10)。如果你想搜索字符串,那么在TEXTJOIN()函数中使用一个不会出现的字符,数据集说“!”。然后,您可能需要在开头和结尾添加该字符,但您可以搜索“!a value!”之类的内容。在字符串中。

接下来,我们需要查看我们创建的字符串是否包含“X”。我建议使用FIND。如果没有找到它会返回错误,所以我们必须对此进行测试。

我们的功能变为

=IF(ISERROR(FIND("X",TEXTJOIN("",TRUE,A1:A10))),"Not there","Found it")

Excel中没有case语句,因此我们必须将IF语句嵌入到另一个IF语句中。非常难以快速阅读。

所以回答你的初步问题,完整的答案是:

=IF(ISERROR(FIND("X",TEXTJOIN("",TRUE,A1:A10))),IF(ISERROR(FIND("Y",TEXTJOIN("",TRUE,A1:A10))),"Nothing found","B"),"A")

请注意,A1-A10可能同时具有'X'和'Y'。这将首先查找X,然后查找“Y”。

答案 1 :(得分:0)

请使用MATCH中的简单A11公式,

=IF(IFERROR(MATCH("X",A1:A10,0),FALSE),"A",IF(IFERROR(MATCH("Y",A1:A10,0),FALSE),"B","No Match"))

MATCH公式搜索范围A1:A10中的字符串“X”。如果存在,则输出值“A”。如果不是,搜索“Y”并输出“B”。如果两者都不在范围内,则返回“No Match”。第一个偏好是“X”。如果两者都存在则“X”更重要。希望这会有所帮助。