calc / excel如果在两个单元格中找到文本并输出文本

时间:2014-04-18 21:33:53

标签: excel openoffice-calc

这可能太简单但我无法找到解决办法。 我必须要细胞

  A1              B1
high ground     low water

所以我需要一个公式,声明如果单元格A1包含“高地”而单元格B1包含单词“water”输出“OK”,否则“不行”

提前致谢

4 个答案:

答案 0 :(得分:1)

下一个公式对我有用:

= if(AND(A2 =“high ground”,(B2 = SEARCH(“water”,B2,1))> 0),“ok”,“not ok”)

我假设细胞A2含有高聚集体,细胞B2含有低水。

在if语句中有两个条件:如果单元格A2 =高地,如果单元格b2包含水,则确定其他情况不行。

希望它适合你!!

对不起,接下来是正确的(没有HALLAR,而是SEARCH):

请尝试下一步:

= IF(AND(A1 =“高地”,(B1 = SEARCH(“水”,B1,1))> 0),“ok”,“不行”

答案 1 :(得分:0)

试试这个:

=if(AND(A1="high ground",B1="*water*"),"OK","Not OK")

答案 2 :(得分:0)

对不起我的回答之前在If语句中包含了一个通配符,并且由于某种原因,excel无法识别它们。

我测试了这个,它应该适合你:

=IF(AND(A1="high ground",ISNUMBER(SEARCH("water",B1))),"OK","Not OK")

答案 3 :(得分:0)

对于OpenOffice / LibreOffice Calc,以下功能应该起作用:

  

=IF(AND(A1 = "high ground";NOT(ISERROR(SEARCH("water";B1;1))));"OK";"not OK")

或拆分多行注释:

=IF(                                   # First function: result will depend on condition
    AND(                               # Condition: two sub-conditions have to be TRUE
        A1 = "high ground";            # First subcondition: simple equality check
        NOT(                           # Second subcondition
            ISERROR(                   # Check if the embededded function (SEARCH()) returns an error
                SEARCH("water";B1;1)   # Search B1 for substring. Will throw an error if there's no match in B! for string "water"
            )
        )
    );
    "OK";                              # Return value if condition is fulfilled;
    "not OK"                           # return value if on of the sub-conditions isn't fulfilled.
)

NOT(ISERROR(SEARCH("water";B1;1)))有点复杂。由于SEARCH()函数(以及FIND()函数)如果没有匹配则抛出错误,您将不得不处理该错误,否则完整的公式将返回错误而不是字符串"不好"。对于错误处理,我将SEARCH()函数放入ISERROR()函数,将SEARCH()的结果转换为布尔值(TRUEFALSE)。由于我们希望在搜索找到匹配项时获得TRUE结果,因此我们必须"反转"使用NOT()函数输出ISERROR()

也可以使用正则表达式来搜索子字符串,但这需要在Calc程序选项中启用正则表达式;使用ISERROR(SEARCH())的建议解决方案应该独立于该配置设置。