如何编写具有多个输出的嵌套 IF 语句? [英] How to write a nested IF statement that has multiple outputs?
本文介绍了如何编写具有多个输出的嵌套 IF 语句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
上下文:
Column 1 Column 2 Column 3 Column 4 (IF statement result column)
a,b 2.99 $2.99 1/2 mismatch
a a,b 3.49 $2.89 Column 1/2 mismatch,3/4 mismatch
b a 1.99 $2.99 Column 1/2 mismatch,3/4 mismatch
a,b a,b 3.49 $3.49
所以只有在立场和完全匹配(我有许多列具有可比较的值,我需要遵循这种模式).有没有办法做到这一点?
so only in stance of and exact match (I have many columns that have comparable values that I need to follow this pattern). Is there a way to do this?
推荐答案
我认为你不需要嵌套 IF
语句,只需要 CONCATATENATEX
:
I don't think you need nested IF
statements, just CONCATENATEX
:
Result =
VAR ColList = { [Column1], [Column2], <...more columns if needed..> }
RETURN
CONCATENATEX ( FILTER ( ColList, LEN ( [Value] ) > 0 ), [Value], "," )
<小时>
上面的基本方法仍然可以使用,但您需要修改 ColList
中的内容.
The basic approach above can still be used but you'll want to modify what is in your ColList
.
Result =
VAR Pair12 = IF ( [Column 1] <> [Column 2], "1/2 mismatch" )
VAR Pair34 = IF ( [Column 3] <> [Column 4], "3/4 mismatch" )
VAR ColList = FILTER ( { Pair12, Pair34 }, LEN ( [Value] ) > 0 )
RETURN
"Column " & CONCATENATEX ( ColList, [Value], "," )
或者重构一下以移除变量:
Or refactored a bit to remove variables:
Result =
"Column "
& CONCATENATEX (
FILTER (
{
IF ( [Column 1] <> [Column 2], "1/2 mismatch" ),
IF ( [Column 3] <> [Column 4], "3/4 mismatch" )
},
LEN ( [Value] ) > 0
),
[Value],
","
)
这篇关于如何编写具有多个输出的嵌套 IF 语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文