2012-12-04 59 views
1

嗨,希望有人能幫忙。相當於Excel的Java腳本公式

我在Excel電子表格中有以下公式。它計算T40和AB40之間的差值,如果它返回負值,則重新計算AB40 - T40返回正值。

=IF(T40 > AB40, + T40 - AB40, AB40 - T40) 

我已經將電子表格導入到PDF文檔,並且找不到與上面相匹配的等效Java腳本。

任何人都可以協助,我現在絕望而且迫切需要這些信息。

回答

0

If'm不熟悉JavaScript的PDF中的細節,但這樣的事情應該工作:

if(T40>AB40){ 
    return T40-AB40; 
}else{ 
    return AB40-T40; 
} 

或者使用三元運算符像user1161318建議。

+0

是甚至有這樣的事情作爲JavaScript中的PDF? –

+0

@JanDvorak:我認爲一些PDF引擎允許附加JavaScript代碼,這就是爲什麼其中一些從安全角度受到審查的原因。 – RonaldBarzell

+0

@JanDvorak:我不知道。 – Cerbrus

0

它可以用做如果作爲另一個反應顯示,但如果你希望把它當作一種表達,你可以這樣來做:

T40 > AB40 ? T40-AB40 : AB40-T40; 

在Javascript中:

cond ? ifTrue : ifFalse 

是一種替代方法,它構成一個if語句,允許將整個事物視爲一個表達式,從而成爲公式的一部分,分配給變量,放入函數的參數列表等等......不像if 。因此,執行如下操作是完全合法的:

alert(cond ? ifTrue : ifFalse); 
var x = cond ? ifTrue : ifFalse; 

等等,而您不能使用if塊來做到這一點。當然,如果有任何含糊的機會(例如:它是更大公式的一部分等等),在括號內包括表達式。

我認爲這更接近於在Excel中保留IF的含義。

1

你不需要if語句,你可以這樣做:

Math.abs(T40-AB40) 

爲了澄清這將返回數學運算這樣的絕對值:

Math.abs(10 - 2) //returns 8 

Math.abs(2 - 10) //returns 8