Рабочая формула нарушена после применения Arrayformula - PullRequest
1 голос
/ 17 октября 2019

Кто-нибудь знает, почему рабочая формула может быть нарушена Arrayformula? Ниже приведена формула, которая работает.

=IFS(
AND(LEN(K:K)=0,LEN(O:O)=0,LEN(S:S)=0),"No Grade",
AND(LEN(K:K)>1,LEN(O:O)=0,LEN(S:S)=0),"1 Grade",
AND(LEN(K:K)>1,LEN(O:O)>1,LEN(S:S)=0),"2 Grade",
AND(LEN(K:K)>1,LEN(O:O)>1,LEN(S:S)>1),"3 Grade")

Результат после применения Arrayformula ниже - «Нет совпадения», и он применяется только к 1 ячейке.

=ArrayFormula(IFS(
AND(LEN(K:K)=0,LEN(O:O)=0,LEN(S:S)=0),"No Grade",
AND(LEN(K:K)>1,LEN(O:O)=0,LEN(S:S)=0),"1 Grade",
AND(LEN(K:K)>1,LEN(O:O)>1,LEN(S:S)=0),"2 Grade",
AND(LEN(K:K)>1,LEN(O:O)>1,LEN(S:S)>1),"3 Grade"))

1 Ответ

1 голос
/ 17 октября 2019

ARRAYFORMULA не поддерживает AND fx. вам нужно использовать логику 0/1:

=ARRAYFORMULA(IFS(
(LEN(K:K)=0)*(LEN(O:O)=0)*(LEN(S:S)=0), "No Grade",
(LEN(K:K)>1)*(LEN(O:O)=0)*(LEN(S:S)=0), "1 Grade",
(LEN(K:K)>1)*(LEN(O:O)>1)*(LEN(S:S)=0), "2 Grade",
(LEN(K:K)>1)*(LEN(O:O)>1)*(LEN(S:S)>1), "3 Grade"))

0

...