0

Google Appsスクリプトを使用してスプレッドシートに条件式を入れようとしていますが、これを解決する方法がありません.

必要な GAS に相当する VBA は次のとおりです。

サブエイジング()

ADVANCES用レムエイジングスラブ

範囲あり("ap2:ap4000")

.Formula = "=IF(u2="""","""",if(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"",IF(AND(u2>=91,u2<=120),""老化91-120"",IF(and(u2>120,u2<=180),""老化121-180" ",IF(u2>180,""6 か月以上"",""""))))))))"

.Value = .Value

で終わる

サブ終了

GASでこれに相当するVBAを親切に提案してください。

ありがとう

https://productforums.google.com/forum/#!category-topic/docs/spreadsheets/how-do-i/desktop/H2dXGR7arvUに投稿された同じ質問

4

2 に答える 2

0

Range.setFormula()セルに数式を設定するために使用できます。

SpreadsheetApp.getActiveRange().setFormula('=SUM(A1:A100)');
于 2012-07-02T19:46:32.587 に答える
0
  1. 条件ごとに2回チェックしないことで、複雑さを軽減できると思います
  2. JS では、単一引用符と二重引用符、または " と \" を中に入れることができます。
  3. このタイプのタスクには ArrayFormula を使用でき、Google Apps Script や VBA を排除することもできます (最終的には 1 つの数式にすぎません)。

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 か月以上","")))))))');

于 2012-07-04T11:02:37.370 に答える