AND () 조건 / 함수가 ArrayFomula에서 작동하지 않는 이유

무하메드 아딜

AND함수 : Arrayformula ()를 제거하면 제대로 작동하지만 배열 수식에서는 작동하지 않습니다.
그 이유를 알 수 있습니까?

=ARRAYFORMULA(IF(ISNUMBER(G3:G),IF(AND( G3:G>=7.5,G3:G<=8),"Full Day",IF(AND(G3:G>8,G3:G<24) ,"Full Day+",IF(AND(G3<7.5,G3>=4),"Half Day",IF(G3<4,"Short Leave",)))),))
Marikamitsos

의견 에서 언급했듯이

ARRAYFORMULA 함수를 사용하므로 AND 함수 대신 *를 사용해야합니다.

=ARRAYFORMULA(IF(ISNUMBER(A3:A),IF((A3:A>=7.5)*(A3:A<=8),"Full Day",IF((A3:A>8)*(A3:A<24) ,"Full Day+",IF((A3<7.5)*(A3>=4),"Half Day",IF(A3<4,"Short Leave",)))),))

사용하는 경우 ARRAYFORMULA기능을 당신은 사용해야 *대신의 AND기능과 +대신의 OR기능.


설명

지금은 이것에 대한 공식 사이트가 기억 나지 않습니다. 어쨌든.

Point 1
배열 수식 내 AND에서 단일 값을 제공합니다. 의 배열이 아닙니다TRUE/FALSE .

포인트 2는
또한 것을 기억해야한다 "수학 언어"에, TRUE=1그리고FALSE=0

의미

+----------+--------+
| Formula  | Result |
+----------+--------+
| =TRUE+2  |      3 |
| =FALSE+2 |      2 |
+----------+--------+

보시다시피 부울 TRUE/FALSE1/0숫자를 교환 할 수 있습니다 .

포인트 3
[정보 기능

AND 함수는 제공된 모든 인수가 논리적으로 true이면 true를 반환하고 제공된 인수 중 하나가 논리적으로 false이면 false를 반환합니다.

모두 합치기 비교
AND/OR할 때 사용하는 대신 배열 공식 에서 위의 정보를 활용합니다.

따라서 "곱하기" (A3:A>=7.5)*(A3:A<=8)TRUE양쪽이 모두를 반환하는 경우에만 1 (의미 )을 반환 TRUE합니다. 다른 모든 조건은 0 (을 의미 FALSE)을 반환 합니다.
이것은 AND함수 의 정확한 동작이며 ARRAYFORMULA.

[정보] OR의 기능

OR함수는 제공된 인수 중 하나가 논리적으로 true이면 true를 반환하고 제공된 모든 인수가 논리적으로 false이면 false를 반환합니다.

함수 대신 + ( "addition")을 사용할 때 동일한 논리가 arrayformula 내에 적용됩니다 OR.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관