假设您在 B1 和 C1 中有标题,并且您的“1,2,3”或“是,否”数据运行 B2:C,完全清除 D 列(包括任何标题)并将以下公式放入 D1 :
=ArrayFormula({"Header"; IF((B2:B="") + (C2:C=""),, IFERROR(VLOOKUP(B2:B&C2:C, {"1Yes","Val1"; "1No","Val2"; "2Yes","Val3"; "2No","Val4"; "3Yes","Val5"; "3No","Val6"}, 2, FALSE)))})
此公式将创建标题文本(您可以在公式中随意更改)和列的所有结果。
如果 Col-B 或 Col-C 单元格为空,则返回 null(因为没有足够的数据来找到匹配的返回)。
否则,将形成 Col-B 和 Col-C 单元的串联(例如,1Yes、3No 等),VLOOKUP 将在包含每个单元的虚拟数组中查找该组合可能的组合和一个值,返回该值(即元素 2)。
只需将公式中的Val1、Val2 等更改为您希望为其前面列出的每个组合返回的实际值。请记住将字符串结果保留在引号中,而任何您想要为数字的返回值都应该不括在引号中
您也可以输入公式表达式来代替 Val1、Val2 等。但请注意,如果您想在这些表达式中使用 Col B 或 Col C 中的单元格值,则应将它们列为 B2:B或 C2:C 而不是任何单单元格引用。
IFERROR 换行只是标准做法。如果有人以某种方式在相应的单元格中输入“1,2,3”或“是/否”以外的其他内容,则将返回 null 而不是难看的错误。
注意:您也可以使用SWITCH 代替VLOOKUP:
=ArrayFormula({"Header"; IF((B2:B="") + (C2:C=""),, IFERROR(SWITCH(B2:B&C2:C, "1Yes", "Val1", "1No", "Val2", "2Yes", "Val3", "2No", "Val4", "3Yes", "Val5", "3No", "Val6")))})