答案1
如果您确实想坚持使用常规IF
函数,您可以简单地组合各种条件。特别是value_if_false
,插入下一个IF
语句而不是。这两种方法都假设您的数据在范围内A1:C5
,您将公式粘贴到单元格中D2
并复制下来。值除以“;”,但如果您不需要它,您可以简单地删除它。
IF 函数:
=IF(AND(A2:C2)=TRUE,"Male; 18+; College Degree",
IF(AND(A2,B2)=TRUE,"Male; 18+",
IF(AND(A2,C2)=TRUE,"Male; College Degree",
IF(AND(B2,C2)=TRUE,"18+; College Degree",
IF(A2=TRUE,"Male",IF(B2=TRUE,"18+",IF(C2=TRUE,"College Degree","ERROR")))))))
由于这个过程非常繁琐,特别是当您有多个条件时,另一种方法是简单地FILTER
对 TRUE 的情况使用该函数,然后相应地将它们连接起来。
=TEXTJOIN("; ",TRUE,FILTER($A$1:$C$1,A2:C2=TRUE))
答案2
答案3
如果您的 Excel 版本不够新,无法使用动态数组,那么只需连接一系列 IF 即可完成工作,但无法很好地扩展到多列。
您需要添加空格,然后使用 TRIM 删除末尾的任何“未使用”的空格或中间的双空格(对于“Male__College degree”):
=TRIM(IF($A2,$A$1,"") &" "& IF($B2,$B$1,"") &" "& IF($C2,$C$1,""))
这依赖于 $A2 = TRUE 与 $A2 相同的事实。由于 $A2 已经为真或假,因此您无需测试 TRUE=TRUE(如 1=1)。
如果您实际上还没有 True 和 False,但是有其他内容(例如 Yes/No),则需要将每个 IF 扩展为更正式的条件:
=...IF($A2="Yes",$A$1,"")...