如何在 Excel 中使用 IF 函数根据多个条件选择多个字符串

如何在 Excel 中使用 IF 函数根据多个条件选择多个字符串

为了方便起见,请先看下面的图片

1

我正在尝试让Which Event?(H2 单元格) 下的单元格说出他们被邀请参加哪些活动。

  • 假设此人仅被邀请山治婚礼接待,那么我希望公式只显示Sanji,婚礼和招待会(在 H2 单元上)仅当值 >=1 时
  • 如果值为 0韦斯瓦尔山治但 >=1婚礼接待,那么我希望它只显示婚礼与招待会
  • 如果值为 0韦斯瓦尔山治接待但它> = 1婚礼,那么我希望它显示仅限婚礼

我希望我说得有道理?

我尝试使用以下公式:

=IF((AND(D2>0,E2>0,F2>0,G2>0)),*All*,*Sanji, Wedding & Reception*)

如果我把 1 放在韦斯瓦尔山治婚礼接待,单元格 H2 将变为所有活动。但如果值为 0韦斯瓦尔山治接待但它> = 1婚礼,那么它就不起作用。

我真的希望我说的有道理并且你能帮助我?

答案1

另一种方法是将列表转换为二进制并用来VLOOKUP查找事件

=VLOOKUP((B2 > 0)*8 + (C2 > 0)*4 +(D2 > 0)*2 + (E2 > 0)*1, $H$2:$I$17, 2, FALSE)

cell > 0部分产生一个布尔值,该值将在算术表达式中转换为 0 或 1。从左到右的列代表从最高到最低有效位的数字

查找表可以存储在任何地方,在远处的某些列/行中或在另一张表中,然后您也可以隐藏该表/行/列

桌子

以下是上述内容的查找表

数字 活动
0 没有任何
1 接待
2 婚礼
3 婚礼、招待会
4 山治
5 山治,接待处
6 山治、婚礼
7 山治,婚礼,招待会
8 韦斯瓦尔
9 Vesvaar,前台
10 Vesvaar,婚礼
11 Vesvaar、婚礼、招待会
12 维斯瓦尔、山治
十三 维斯瓦尔、山治、接待处
14 维斯瓦尔、山治、婚礼
15 全部

答案2

如果您有 Office 365 Excel,则可以使用 TEXTJOIN 作为数组公式:

=IF(COUNTIF(D2:G2,">0")=4,"All",TEXTJOIN(",",TRUE,IF(D2:G2>0,$D$1:$G$1,"")))

退出编辑模式时必须使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

在此处输入图片描述

如果没有,那么您将需要自己连接字符串:

=IF(COUNTIF(D2:G2,">0")=4,"All",MID(IF(D2>0,","&$D$1,"")&IF(E2>0,","&$E$1,"")&IF(F2>0,","&$F$1,"")&IF(G2>0,","&$G$1,""),2,200))

在此处输入图片描述

相关内容