感谢您的帮助。如果单元格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搜索/引用单元格区域。我已经尝试修改它但不断出错。
感谢您的帮助。谢谢。
答案 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”更重要。希望这会有所帮助。