列记的推理:不知道如何访问“这个”的价值

我正在尝试执行以下操作:

  • 对于每一行
  • 如果单元格A包含文本“abc”,则在列B和列上获取值
  • 如果B列上的值大于0:03:00,则返回0.9
  • 否则如果列B上的值是<0:03:00而> 00:01:00则返回0.6
  • 否则返回0.3
  • 将所有其他值与所返回的值相加。

结果应该是这样的:

=IF(ISNUMBER(FIND("abc",INDIRECT(""&$A16&""&"!$D$2:$D"))),IF(INDIRECT(""&$A16&""&"!$D$2:$D")>"00:0300,???,???),?etc??) 

??? 是缺less的部分。 还可以删除INDIRECT()以进行testing,但问题在于? 部分。我不知道如何得到IF语句的结果以及如何处理它。 我想我不明白如何使用列。

你可以在excel中使用LOOKUP中的“数组公式”

=SUM(IF(ISNUMBER(FIND("abc",A2:A100)),LOOKUP(B2:B100,{0,1,3}/1440,{3,6,9}/10)))

用CTRL + SHIFT + ENTER确认

或者这个版本与IFs [编辑]

=SUM(IF(ISNUMBER(FIND("abc",A2:A100)),IF(B2:B100>="0:03"+0,0.9,IF(B2:B100>"0:01"+0,0.6,0.3))))

在Google电子表格中使用这个版本

=arrayformula(SUM(IF(ISNUMBER(FIND(ʺabcʺ,A2:A100)),IF(B2:B100>=ʺ0:03ʺ+0,0.9,IF(B2:B100>ʺ0:01ʺ+0,0.6,0.3)))))

对于列A中的文本中find“abc”的每一行以及B列中的大于等于0但小于等于0,01,0.6的总行,总计将增加0.3。 如果B> = 0:09,则B> = 0:01,<0:03和0:09

使用LOOKUP可以更容易地避免多个IF,但我不确定是否在边界上为您提供了正确的值,使用第二个版本更容易调整。 您可以调整范围长度并在需要时添加INDIRECT。

注意:对于第一个条件使用FIND意味着公式将在文本中的任何位置查找“abc”(区分大小写),如果您只想检查“abc”而不使用其他文本,则只能使用range =“ abc“ [不区分大小写]或者EXACT(区间”abc“) [区分大小写]