这个公式可以用在 Google 表格中的 ARRAYFORMULA 中吗?

Can this formula be used in an ARRAYFORMULA in Google Sheets?

我有一个公式,我一直在尝试将其转换为 ARRAYFORMULA,但一直没有成功。由于公式是(下面)它工作得很好但是当我转换为 ARRAYFORMULA 它显示空白(因为我要求公式显示“”如果 none 条件满足。

这是非数组公式:

    =IFERROR(IF(AND(D5="SAN BERNARDINO",K5>1,K5<1001),VLOOKUP(D5,ApprovalKey,2,FALSE),
IF(AND(D5="SAN BERNARDINO",K5>1002,K5<5001),VLOOKUP(D5,ApprovalKey,3,FALSE),
IF(AND(D5="SAN BERNARDINO",K5>5002,K5<10001),VLOOKUP(D5,ApprovalKey,4,FALSE),
IF(AND(D5="SAN BERNARDINO",K5>10002),VLOOKUP(D5,ApprovalKey,5,FALSE),
IF(AND(D5="ATLANTA",K5>1,K5<1001),VLOOKUP(D5,ApprovalKey,2,FALSE),
IF(AND(D5="ATLANTA",K5>1002,K5<5001),VLOOKUP(D5,ApprovalKey,3,FALSE),
IF(AND(D5="ATLANTA",K5>5002,K5<10001),VLOOKUP(D5,ApprovalKey,4,FALSE),
IF(AND(D5="ATLANTA",K5>10002),VLOOKUP(D5,ApprovalKey,5,FALSE),
IF(AND(D5="BEDFORD PARK",K5>1,K5<1001),VLOOKUP(D5,ApprovalKey,2,FALSE),
IF(AND(D5="BEDFORD PARK",K5>1002,K5<5001),VLOOKUP(D5,ApprovalKey,3,FALSE),
IF(AND(D5="BEDFORD PARK",K5>5002,K5<10001),VLOOKUP(D5,ApprovalKey,4,FALSE),
IF(AND(D5="BEDFORD PARK",K5>10002),VLOOKUP(D5,ApprovalKey,5,FALSE),"")))))))))))))

这是我尝试的数组:

    =ARRAYFORMULA(IF(AND(D2:D="SAN BERNARDINO",K2:K>1,K2:K<1001),VLOOKUP(D2:D,ApprovalKey,2,FALSE),IF(AND(D2:D="SAN BERNARDINO",K2:K>1002,K2:K<5001),VLOOKUP(D2:D,ApprovalKey,3,FALSE),
IF(AND(D2:D="SAN BERNARDINO",K2:K>5002,K2:K<10001),VLOOKUP(D2:D,ApprovalKey,4,FALSE),
IF(AND(D2:D="SAN BERNARDINO",K2:K>10002),VLOOKUP(D2:D,ApprovalKey,5,FALSE),
IF(AND(D2:D="ATLANTA",K2:K>1,K2:K<1001),VLOOKUP(D2:D,ApprovalKey,2,FALSE),
IF(AND(D2:D="ATLANTA",K2:K>1002,K2:K<5001),VLOOKUP(D2:D,ApprovalKey,3,FALSE),
IF(AND(D2:D="ATLANTA",K2:K>5002,K2:K<10001),VLOOKUP(D2:D,ApprovalKey,4,FALSE),
IF(AND(D2:D="ATLANTA",K2:K>10002),VLOOKUP(D2:D,ApprovalKey,5,FALSE),
IF(AND(D2:D="BEDFORD PARK",K2:K>1,K2:K<1001),VLOOKUP(D2:D,ApprovalKey,2,FALSE),
IF(AND(D2:D="BEDFORD PARK",K2:K>1002,K2:K<5001),VLOOKUP(D2:D,ApprovalKey,3,FALSE),
IF(AND(D2:D="BEDFORD PARK",K2:K>5002,K2:K<10001),VLOOKUP(D2:D,ApprovalKey,4,FALSE),
IF(AND(D2:D="BEDFORD PARK",K2:K>10002),VLOOKUP(D2:D,ApprovalKey,5,FALSE),"")))))))))))))

我只是不允许以这种方式使用数组公式吗?

好的,试试:

=ARRAYFORMULA(IFERROR(
 IF((D5:D="SAN BERNARDINO")*(K5:K>1)   *(K5:K<1001), VLOOKUP(D5:D,ApprovalKey,2,0),
 IF((D5:D="SAN BERNARDINO")*(K5:K>1002)*(K5:K<5001), VLOOKUP(D5:D,ApprovalKey,3,0),
 IF((D5:D="SAN BERNARDINO")*(K5:K>5002)*(K5:K<10001),VLOOKUP(D5:D,ApprovalKey,4,0),
 IF((D5:D="SAN BERNARDINO")*(K5:K>10002),            VLOOKUP(D5:D,ApprovalKey,5,0),
 IF((D5:D="ATLANTA")       *(K5:K>1)   *(K5:K<1001), VLOOKUP(D5:D,ApprovalKey,2,0),
 IF((D5:D="ATLANTA")       *(K5:K>1002)*(K5:K<5001), VLOOKUP(D5:D,ApprovalKey,3,0),
 IF((D5:D="ATLANTA")       *(K5:K>5002)*(K5:K<10001),VLOOKUP(D5:D,ApprovalKey,4,0),
 IF((D5:D="ATLANTA")       *(K5:K>10002),            VLOOKUP(D5:D,ApprovalKey,5,0),
 IF((D5:D="BEDFORD PARK")  *(K5:K>1)   *(K5:K<1001), VLOOKUP(D5:D,ApprovalKey,2,0),
 IF((D5:D="BEDFORD PARK")  *(K5:K>1002)*(K5:K<5001), VLOOKUP(D5:D,ApprovalKey,3,0),
 IF((D5:D="BEDFORD PARK")  *(K5:K>5002)*(K5:K<10001),VLOOKUP(D5:D,ApprovalKey,4,0),
 IF((D5:D="BEDFORD PARK")  *(K5:K>10002),            VLOOKUP(D5:D,ApprovalKey,5,0),
 ))))))))))))))