SAS ODS是否支持Excel数组公式(CSE-公式)?

时间:2019-05-16 10:47:46

标签: excel excel-formula sas excel-2010 ods

SAS ODS是否支持Excel ArrayFormulas(CSE-Formulas)?如果是这样,正确的语法是什么?

是否可以在ODS中编写Excel ArrayFormulas?若要创建旧的ArrayFormulas(2018之前),需要在Excel中按Ctrl + Shift + Enter。我需要在SAS ODS中执行此操作以实现自动报告。我正在使用SAS Data Integration Studio 4.8和Microsoft Office 2010。

到目前为止我所拥有的:

[tagattr= "formula: =COUNT(1/FREQUENCY(IF((SUBTOTAL(3,OFFSET(R[+4]C[-15],ROW(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15])-ROW(R[+4]C[-15]),0))=1) * (R[+4]C[-15]:R[+&anzahlZeilen.]C[-15]<>""""), MATCH(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15],R[+4]C[-15]:R[+&anzahlZeilen.]C[-15],0)), ROW(INDIRECT(""1:""&COUNTA(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15])))))

这将导致以下Excel公式(公式的复杂程度无关紧要):

=COUNT(1/FREQUENCY(IF((SUBTOTAL(3;OFFSET(C10;ROW(C10:C4293)-ROW(C10);0))=1) * (C10:C4293<>""); MATCH(C10:C4293;C10:C4293;0)); ROW(INDIRECT("1:"&COUNTA(C10:C4293)))))

结果是我正在寻找的(与上面相同,但用{}封装):

{=ANZAHL(1/HÄUFIGKEIT(WENN((TEILERGEBNIS(3;BEREICH.VERSCHIEBEN(C10;ZEILE(C10:C4293)-ZEILE(C10);0))=1) * (C10:C4293<>""); VERGLEICH(C10:C4293;C10:C4293;0)); ZEILE(INDIREKT("1:"&ANZAHL2(C10:C4293)))))}

0 个答案:

没有答案