我想对多个不连续单元格的值执行带有条件的 if 语句,例如
=IF(K2=O2=U2=AA2=AG2=AM2=AS2=AY2=BE2=BK2=BQ2=BW2=CC2=CI2=CO2=CU2=DA2=DG2=DM2=DS2=DY2=EE2=EK2=EN2=ER2=EV2=EZ2=FD2=0,"Pass","Fail")
但是,这不起作用。我试图实现的目标可能吗?
我无法对这些单元格求和,因为它们包含正数和负数,并且可能相互抵消,并且我无法取数组中数字的绝对值,因为这些单元格是不连续的。
我需要特别检查每个单元格的值是否正好为零,以便授予通过。
有任何想法吗?
答案1
您可以使用工作表上其他位置的隐藏行来进行计算。
按住Ctrl并选择要检查的每个单元格。右键单击并从菜单中选择复制。转到要使用的行,单击第一个单元格,按Ctrl+ Alt+ V,然后选择窗口底部的“粘贴链接”按钮。这将并排显示所有值。
现在使用一个IF
语句(如下所示)来检查所有值是否都是0
。注意: 的位置A20:B20
需要是您刚刚创建的行的范围。
IF(SUM(A20:B20)=0, "Pass", "Fail")
答案2
零是你的朋友和盟友。如果你把绝对值相加,只要有一个值不为零,你就会得到大于零的值。由于 ABS 函数,负数最终会变成正数,因此不会影响你的和。像这样:
=IF((ABS(K2)+ABS(O2)+....+ABS(CC2))=0,"Pass","Fail)
答案3
由于您的范围一开始并不连续,因此您需要命名它以便于引用它:选择范围内的所有单元格,然后命名它(命名范围的指导例如这里)。
然后您可以使用以下几个函数:
=IF(COUNTIF(yourRange,0)=COUNTA(yourRange),"pass","fail")
=IF(SUMPRODUCT(yourRange,yourRange)=0,"pass","fail")
=IF(SUM(ABS(yourRange))=0,"pass","fail")
- 这是一个数组公式,您需要按 CTRL+SHIFT+ENTER 输入=IF(SUM(yourRange)=0,"pass","fail")
- 所有其他公式都适用于所有数字,但这仅当您仅期望单元格中存在非负值时才有效。
答案4
假设第 2 行中的其他单元格都不为 0,并且您需要检查 28 个单元格,则可以使用
=IF(COUNTIFS(2:2, "=0")=28,"pass","fail")
这将忽略第 2 行中其他字段的文本,如果任何数字非零或为空白,则会失败。
如果您需要检查的值多于或少于 28 个,则请相应地更改此数字。