2010-01-14 41 views
2

我想寫一個簡單的計算以基於一系列字段返回值。在具有多個字段的文件製作器Pro(v9)計算中使用IsEmpty函數

如果第一個字段是空的,我希望它返回第二個,如果第二個是空的,第三個。我已經嘗試了以下,但它只返回第一個值。

If (IsEmpty (Field1 = 1) ; Field2; 
If (IsEmpty (Field2 = 1); Field3; Field1)) 

我能得到第一或第三值,通過使用出現:

If (IsEmpty (Field1) & 
If (IsEmpty (Field2); Field3; Field1)) 

但是,當然,這並不能顯示Field2可言。

有沿着線的東西:

If (IsEmpty (Field1) & 
If (IsEmpty (Field2); Field3; Field1, Field2)) 

,我可以使用? 這顯然不起作用,因爲函數中有太多參數。

任何幫助將非常感謝! :-)

回答

4

你需要你的窩鈣多一點:

Case ( 
IsEmpty (Field1 & Field2) ; Field3 ; 
IsEmpty (Field1) ; Field2 ; 
Field1 
) 

在你的例子,你有IsEmpty (Field1 = 1)這將考驗Field1=1,要麼是真或假,但從來沒有空。 &是一個連接操作符,如果你想邏輯,然後用and來代替。

+0

感謝尼克,完美! – Lucy 2010-01-15 02:24:21

0

你可以在一個更透明的方式改寫這個:

Case(
    not isEmpty(Field1); Field1; 
    not isEmpty(Field2); Field2; 
    Field3 
) 

(這將是更容易維護/在未來讀取)

相關問題