If 语句:Return 基于多个潜在单元格输入的动态输出为 "value if true"

If Statement: Return dynamic output as "value if true" based on multiple potential cell inputs

我有一个 ifs 语句正在检查 X 个关键字中的 1 个。根据其中的关键字,它 return 是任何值。归结为这样的东西:

ifs(
Cell1="Text1",0,
Cell1="Text2",0.5,
Cell1="Text3",1
)

所以目前我得到 00.51 作为输出。每个 if 语句 一个值得到 returned.

我正在寻找一种方法来仅使用一个 if 语句 检查 Cell 和 return 一个基于以下值的值我们发现了什么。用错误的语法解释这个想法:

if(
Cell1="Text1"or"Text2"or"Text3"
return:
0 if its "Tex1" or
0.5 if its "Text2" or
1 if its "Text2"
)

我正在为它背后的语法和逻辑而苦苦挣扎。这是我目前使用的实际公式,希望对您有所帮助。如果没有上下文,这可能看起来过于复杂。我的主要观点是将这三个语句合并为一个以尽可能缩短公式。

ifs(
VLOOKUP($A2, Sheet1!$A:$W, index(filter(arrayformula(column(Sheet1!$A:)),Sheet1!$A:=E),,1),false)="text1",0,
VLOOKUP($A2, Sheet1!$A:$W, index(filter(arrayformula(column(Sheet1!$A:)),Sheet1!$A:=E),,1),false)="text2",0.5,
VLOOKUP($A2, Sheet1!$A:$W, index(filter(arrayformula(column(Sheet1!$A:)),Sheet1!$A:=E),,1),false)="text3",1)

您可以使用以下SWITCH公式

=SWITCH(A2,"A",1,"B",0.5,"C",0,"")

请记住,在您的情况下,A2 将是您的 VLOOKUP 公式,而 ABC 将是您的 text1text2text3 值。
公式的最后一部分 "" 将 return 任何不符合您条件的值作为空白。

=SWITCH(vlookupFormula,"text1",1,"text2",0.5,"text3",0,"")

(请一如既往地根据您的范围和地区调整公式)