【问题标题】:COUNTIFS ignoring rows based on values in rowCOUNTIFS 根据行中的值忽略行
【发布时间】:2021-05-12 23:39:54
【问题描述】:

我在一天的大部分时间里都在努力解决这两个问题。请参阅此示例链接:https://docs.google.com/spreadsheets/d/1odU7oqc-WviLzQcghkbYbQG-4DC70-Q_hszb22Chljw/edit?usp=sharing 这是我用来查看哪个讲师(姓名)已将 5 个文档(右侧)中的哪个添加到在线学习环境(每门课程一行)的简化文档。这些课程可以在第 1 学期、第 2 学期或两者中进行。如果我要检查的学期(单元格 D1)类似于 E 列,我想使用此文档自动突出显示右侧五个框中的任何一个为空的名称。此外,仅在名称第一次出现红色时, 电子邮件是否也会出现。 为此,我当然使用条件格式(请参阅那些公式,也粘贴在 M 列(范围列 C 和 D)和 N(范围列 D)中。N 是覆盖 M 的白色条件格式,其中 N=" TRUE" 表示白化)。

示例 1 (Ans) 显示了我希望程序如何工作。第一个实例以红色显示姓名和电子邮件,后面的实例也会显示,除非学期不相似或右侧的所有框都被打勾。 示例 2 (Bertrand) 显示了第一个问题。如果一个红色名字和电子邮件的第一个实例出现在一个学期“两者”中,那么第二次名字应该是红色的,电子邮件也是如此。这种情况一直持续到一个学期类似于 Cell D1,之后又正常了。 示例 3 (Carel) 显示了第二个问题。如果某位讲师第一次出现,右边的所有方框都打勾,第二次出现但没有打勾,他的名字显示为红色,但他的电子邮件没有。

我认为问题 1(示例 2)如果我能以某种方式同时表示 1 和 2,那么问题 1(示例 2)就可以解决,但我不知道如何。 我认为如果我可以让 COUNTIFS 忽略所有五个框都被勾选的行,那么问题 2(示例 3)就可以解决。

但是,我不知道该怎么做。有没有人可以帮助我解决任何一个(但最好是两个)问题? 提前谢谢!

【问题讨论】:

标签: excel google-sheets


【解决方案1】:

我不完全确定,但我想我已经了解您需要什么。

对于第一部分(其中讲师少于所有 5 个包含“x”的科目并且其中 E 是单元格 D1 的值或“两者”的值),试试这个:

删除现有的两个条件格式规则。

使用以下自定义公式为 range = C4:C21(或者可能进一步向下到工作表的第 977 行)创建一个新的条件格式规则:

=AND(COUNTIF($G4:$K4,"x")<5,or($E4=$D$1,$E4="both"))

规则的样式应该有红色背景。

对于第二部分(已更新),这在条件格式方面有点棘手,但我可以提供一个由单元格的值决定的解决方案,就像你所做的那样。

删除单元格M4:N21 的内容(21 是您在最远的单元格中有公式的位置)。

在单元格M4中,添加以下公式:

=arrayformula(if(iferror(if(ifs(E4:E=$D$1,1,E4:E="both",1)+if(G4:G&H4:H&I4:I&J4:J&K4:K <>"xxxxx",1,)=2,D4:D,),)<>"",countifs(iferror(if(ifs(E4:E=$D$1,1,E4:E="both",1)+if(G4:G&H4:H&I4:I&J4:J&K4:K <>"xxxxx",1,)=2,D4:D,),),iferror(if(ifs(E4:E=$D$1,1,E4:E="both",1)+if(G4:G&H4:H&I4:I&J4:J&K4:K <>"xxxxx",1,)=2,D4:D,),),row($E4:$E),"<="&row($E4:$E))=1,))

它可能看起来有点复杂,但这样做是为了使用与ARRAYFORMULA 兼容的函数,这样只要您在行中有值,它就会继续工作。

现在为 range = D4:D21(或者可能在工作表的下方至第 977 行)创建一个新的条件格式规则,并使用以下自定义公式:

=$M4=true

规则的样式应该有红色背景。

【讨论】:

  • 非常感谢,问题1解决了。但是,我可能不清楚问题 2。我添加了第四个示例(Daan),显示了我的问题:尽管选中了所有框,但名字仍然以红色弹出,这不应该发生,因为我不需要该电子邮件地址。此外(虽然这不一定是问题,但理想情况下会包括在内),第一个“carel@hotmail.com”变成红色而不是第二个,其中发生了实际问题(并非所有框都被选中)。您碰巧知道解决方案吗?
  • 好的,我想我明白你的意思了。只有 Col 1 中的单元格是红色的,您是否只希望相应电子邮件的第一个实例为红色?
  • 我已经更新了解决方案。它只在 M4 中使用了一个AARAYFORMULA。 N4中的公式需要往下拉。我会看看我是否可以为你改进。
  • arrayformula 修改了第 2 部分的解决方案。可能不是最优雅的,但它有效! :-)
猜你喜欢
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多