我正在尝试基于多个条件格式化单元格。我正在创建一个电子表格来跟踪借来的物品。假设我在借书。我希望有一个书籍清单,每个单元格中有一个名称。然后在下面我想要有3列:一列输入借书的名称,借阅日期和返回日期。我想用书名RED来翻转单元格,如果这本书已被借用,并且如果返回日期是BLANK,则意味着书已经出局。在我的示例屏幕截图中,单元格A2和B2应为红色。
对于Book1条件,我提出的条件公式是=AND($A6=A2, $C6="")
,但只有当C6为空时它才有效,如果C8为空或者C列中找到Book1的其他单元格并且返回日期为空白。返回商品没有具体的截止日期,只是如果借书并且同一行的退货日期为空,则顶部的书名应变为红色。
答案 0 :(得分:1)
比较应用于进出范围的COUNTA的结果。
E.g。 COUNTA(FILTER($B6:$B,$A6:$A=A2))
将计算特定图书的签出次数,而COUNTA(FILTER($C6:$C, $A6:$A=A2))
将计算在其中检查的次数
答案 1 :(得分:0)
您的问题标题询问"多个条件",但非常具体地说,您希望根据任何行匹配匹配多个条件匹配 EM>。这超出了常见的AND
运算符,并且可以处理可以处理范围的函数。您还需要准备好检查并多次退回的书籍,这意味着没有一行可以管理给定书籍的状态; VLOOKUP
和INDEX
/ MATCH
也不在考虑之列。相反,您有效地希望生成一个0
或1
值列表,这些值与匹配该书是否已被检出而不返回,然后为单元格着色基于是否有任何符合该条件的行。
要一次操作多个值,可以使用ARRAYFORMULA
,然后将输出数组与OR
组合。然而,关于ARRAYFORMULA
的一个技巧是,为了保持将单值函数变成数组值函数的不变量,你不能使用可以接受数组的函数。这意味着AND
和ISBLANK
不会按您喜欢的方式运作,但您可以使用*
代替AND
来解决这个问题。和= ""
ISBLANK
。
一个这样的解决方案(working example):
=OR(ARRAYFORMULA((A1 = $A$5:$A) * ($C$5:$C = "")))
ARRAYFORMULA
不是唯一能够对值列表进行操作的函数;您也可以直接使用FILTER
仅返回匹配的行。在这里,您要检查任何行是否具有匹配的书名和空白返回值,然后确认该值不是#N/A
,FILTER
在没有匹配时返回。{/ p >
一个这样的解决方案(working example):
=NOT(ISNA(FILTER($A$8:$C, $A$8:$A = A1, $C$8:$C = "")))
当然,您还可以利用以下事实:您只需检查空格以使用上面的tehhowch's solution with COUNTA
and FILTER
。但是,由于该解决方案不适用于任意表达式,因此如果您的需求变得更加复杂,则可以使用ARRAYFORMULA
或FILTER
。