在 ArrayFormula 中使用 IFS 和日期值的语法是什么?

What's the syntax for using IFS and datevalue in ArrayFormula?

我有一个包含日期列的来源 sheet。在 sheet2 上,我尝试创建一个列,其中每个单元格都包含一个数字。该数字来自使用 IFS 对源 sheet 上的日期进行评估后的转换。这是我的代码,当不与数组公式结合时,它适用于每个单独的单元格:

=ifs(AND(Source!A2>DATEVALUE("05/06/2019"),Source!A2<=DATEVALUE("06/15/2019")),949,AND(Source!A2<=DATEVALUE("05/06/2019"),Source!A2>=DATEVALUE("04/01/2019")),900,Source!A2>DATEVALUE("06/15/2019"),999,true,)

但是,当我尝试组合 arrayformula 时出现错误,提示 IFS 的数组参数大小不同:

={"header name here";ArrayFormula(ifs(AND(Source!A2:A>DATEVALUE("05/06/2019"),Source!A2:A<=DATEVALUE("06/15/2019")),949,AND(Source!A2:A<=DATEVALUE("05/06/2019"),Source!A2:A>=DATEVALUE("04/01/2019")),900,Source!A2:A>DATEVALUE("06/15/2019"),999,true,))}

我做错了什么?

ARRAYFORMULA看不懂AND所以需要转成0/1逻辑:

=ARRAYFORMULA(
 IF((Source!A2:A> DATEVALUE("05/06/2019")) * (Source!A2:A<=DATEVALUE("06/15/2019")), 949,
 IF((Source!A2:A<=DATEVALUE("05/06/2019")) * (Source!A2:A>=DATEVALUE("04/01/2019")), 900,
 IF((Source!A2:A> DATEVALUE("06/15/2019")), 999, ))))


替代方法:https://webapps.stackexchange.com/q/123729/186471