我正在学习MS Excel
公式制作。如果列A
的单元格中包含文字Sat
或Sun
,则相应的列B
应为Weekly Off
,但后续行为不起作用。
=IF(OR(SEARCH("Sun",A:A),SEARCH("Sat",A:A)),"WeeklyOff")
答案 0 :(得分:0)
您正在使用的OR语法没有任何问题,但您使用的公式还有两个问题:
A:A
替换为有效的参考单元格位置。以下是一个例子:
=IF(OR(SEARCH("Sun",TEXT($A1,"[$-F800]dddd, mmmm dd, yyyy")),SEARCH("Sat",TEXT($A1,"[$-F800]dddd, mmmm dd, yyyy"))),"WeeklyOff")
答案 1 :(得分:0)
=IF(OR(SEARCH("Sun",A1),SEARCH("Sat",A1)),"WeeklyOff","")
通常你会将它放在B1中并复制下来。但是,如果您这样做,您将收到一系列错误。问题是当搜索无法找到他们正在搜索的文本时,它会生成错误。为避免这种情况,您需要将搜索包装在错误捕获器(如IFERROR)中,并将其设置为在出现错误时返回0.
=IF(OR(IFERROR(SEARCH("Sun",A1),0),IFERROR(SEARCH("Sat",A1),0)),"WeeklyOff","")
从技术上讲,搜索将告诉您在字符串中查找内容的起始位置。所以如果你有" xxxxSat2"搜索"星期六"将告诉你4.幸运的是,if语句的逻辑部分似乎将任何正整数视为真。上述公式将按原样运作。我可能会把它改成以下内容:
=IF(OR(ISNUMBER(SEARCH("Sun",A1)),ISNUMBER(SEARCH("Sat",A1))),"WeeklyOff","")
或者,如果列A实际上是Excel日期,但单元格格式化为仅显示星期几,则可以使用以下内容:
=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),"WeeklyOff","")