2012-06-29 147 views
0

我試圖把條件公式放在電子表格中使用谷歌應用程序腳本,但我沒有得到解決這個問題的出路。如果或條件公式公式在谷歌應用程序腳本

的VBA相當於所需的氣體是:

子老化()

預付款

隨着範圍雷姆老化板坯( 「AP2:AP4000」)

。式= 「= IF(U2 =」 「」」 「」 「」,如果(U2 < 0 「之後 RC 」「,IF(AND(U2> = 0,U2 < 31) 」「 交貨報告」老化 0-30「」,IF (AND(u2> = 31,u2 = < = 60),「」老化 31-60「」,IF(AND(u2> = 61,u2 < = 90),「」老化 61-90「 (AND(U2> = 91,U2 < = 120) 「」 老齡 91-120 「」,IF(和(U2> 120,U2 < = 180) 「」 老化121-180 「」,IF(U2 > 180 「」 更多 超過6個月 「」, 「」, 「」))))))))」

。價值= .value的

結束隨着

結束子

請建議與GAS相同的VBA。

感謝

張貼在https://productforums.google.com/forum/#!category-topic/docs/spreadsheets/how-do-i/desktop/H2dXGR7arvU

+0

這是一個非常大的公式來解開。你可以告訴你想要達到什麼樣的效果,並且解決方案可能會更快到達 – Srik

+0

感謝您的回覆,我試圖將範圍的if條件,這取決於其他範圍。請爲此提出一條出路。 – user1465668

回答

0

您可以使用Range.setFormula()設置公式在單元格中的同樣的問題。

SpreadsheetApp.getActiveRange().setFormula('=SUM(A1:A100)'); 
0
  1. 我想你可以把它較少受到每個條件
  2. 在JS你可以把單引號和雙引號內,或「和\」裏面沒有檢查兩次複雜。
  3. 您可以使用ARRAYFORMULA這種類型的任務,你甚至可以消除谷歌Apps腳本或VBA(它在剛剛結束一個公式)

SpreadsheetApp.getRange(「AP2」)。setFormula(」 IF(U2:U4000 = 「」, 「」,IF(U2:4000 < 0, 「交貨報告RC後」,IF(U2:U4000 < = 30, 「老化0-30」,IF(U2:U4000 < = 60, 「老化31-60」,IF(U2:U4000 < = 90, 「老化61-90」,IF(U2:U4000 < = 120, 「老化91-120」,IF(U2:U4000 < = 180, 「老齡化121-180」,「超過6個月」,「」))))))))');