具有多个条件的 Excel 公式

具有多个条件的 Excel 公式

我想说出构成细菌物种的某些基因组合。

所以:

sample number, gene A, gene B, gene C.

公式应该是:

  • 如果所有 3 个都是阴性,那么它就是休息组
  • 如果 A 和 B 为阳性则为细菌菌株 Pn
  • 如果 A 和 C 为阳性,则为细菌菌株 Ps

我怎样才能实现这个目标?

答案1

虽然我根据您的帖子做了一些假设,但这个公式确实可以做到这一点!

  =IF(AND(B1<0,C1<0,D1<0),"Rest",IF(AND(B1>=0,C1>=0,D1<0),"Pn",IF(AND(B1>=0,C1<0,D1>=0),"Ps","")))

在此处输入图片描述

将公式粘贴到第一行,然后沿着表格的整个长度拖动。

答案2

稍微不同的方法是将数据转换为 Excel 表(这样可以更轻松地进行数据维护和分析)。然后,假设下表:

细菌种类

对 bac_sp 列使用以下函数:

=IF(AND(SIGN([基因 a])=-1,SIGN([基因 b])=-1,SIGN([基因 c])=-1),"Rest",IF(AND(SIGN([基因 a])=1,SIGN([基因 b])=1,SIGN([基因 c])=-1),"Pn",IF(AND(SIGN([基因 a])=1,SIGN([基因 b])=-1,SIGN([基因 c])=1),"Ps","")))

使用表格可以更好地使用名称(例如 [基因 a] 而不是 B2),并且使用符号函数可以避免显式大于/小于比较的需要。您还可以基于此创建数据透视表并获得一些基本统计数据,例如每种菌株的数量。

编辑: 为了避免对上述功能产生误解,请查看Excel 函数符号。此函数仅评估特定值是正数、负数还是零,并分别返回 1、-1 或 0。因此,编码值是什么并不重要,重要的是它是正数还是负数。这是一个具有更多样例数据(和相同的 bac_sp 公式)的样本:

附加示例

如您所见,无论基因列中的编码值如何,结果都是相同的。函数的参数 -1、1 基于 Sign 函数的可能返回值,而不是基于数据表中的值。

答案3

如果基因分别位于 A、B 和 C 列且从第 1 行开始,我会使用它:

=CHOOSE(SUM((A1<=0)*1,(B1<=0)*2,(C1<=0)*4,1),"","","Ps","Pn","","","","Rest")

它基本上检查每个细胞的符号并将它们乘以一个特定的数字。

如果全部为负数,则SUM返回 8 以表示Rest选中。

如果 A 和 B 为正数,则得到和 5,因此Pn

如果 A 和 C 为正数,则得到和 3,因此Ps

相关内容