我想将if语句的多个结果组合成一个句子的形式。
代码:
=CONCAT("Fail column", IF($T3="No", " T", "")& IF($U3="No", ", U", "") & IF($W3<7, ", W", "") & IF($X3>3, ", X", "") & IF($AE3="No", ", AE", "") & IF($AF3="No", ", AF", ""))
如果第一条语句返回空白,则下一条语句将不会在开头显示逗号。并说全部通过,它们将显示为“是”。
我的预期输出可以是:
答案 0 :(得分:0)
我在想您可以尝试:
R3
中的公式:
=IF(OR(T3="No",U3="No",W3<7,X3>3,AE3="No",AF3="No"),"Fail column: "&TEXTJOIN(", ",TRUE,IF(T3="No","T",""),IF(U3="No","U",""),IF(W3<7,"W",""),IF(X3>3,"X",""),IF(AE3="No","AE",""),IF(AF3="No","AF","")),"Yes")
此处的键是TEXTJOIN
而不是CONCAT
,以便从串联字符串中排除任何空值。
注意:Excel和Google Spreadsheets是两个不同的应用程序,这些功能并不总是可以互换的。您问题的标题表明您实际上正在使用Excel,但是您的标签包含GS。
答案 1 :(得分:0)
正确的公式应该是:
=ARRAYFORMULA(REGEXREPLACE(IF(
(T3:T="yes")*(U3:U="yes")*((W3:W<7)*(W3:W<>""))*(X3:X>3)*(AE3:AE="yes")*(AF3:AF="yes"),
"yes", "Fail column: "&
IF(T3:T="no", "T, ", )&
IF(U3:U="no", "U, ", )&
iF(W3:W>=7, "W, ", )&
IF((X3:X<=3)*(X3:X<>""), "X, ", )&
IF(AE3:AE="no", "AE, ", )&
IF(AF3:AF="no", "AF, ", )), ", $|Fail column: $", ))