programing

표준 Excel 수식은 사용하는 Excel 버전에 따라 다르게 동작합니다.

minimums 2023. 10. 5. 21:25
반응형

표준 Excel 수식은 사용하는 Excel 버전에 따라 다르게 동작합니다.

엑셀 365와 엑셀 2019 중 어떤 엑셀 버전을 사용하느냐에 따라 다르게 작동하는 표준 공식을 가지고 있습니다.

=IF(F5=$M$1;IFERROR(IF(AND(IFERROR(FIND("CONV";B5;1);"NY");F5=$M$1);"KONV");IF(F5=$M$1;"NY";"ORG"));"ORG")

아래 두 장의 스크린샷에서 엑셀 버전 2019가 위에 있고, 그 아래에 엑셀 버전 365가 있습니다.첫 번째 스크린샷에서는 모든 것이 동일하지만 두 번째 사진에서는 엑셀 2019에서 "NY"가 오류가 되는데 (맞고 내가 원하는 것) 엑셀 365에서는 잘못된 TRUE가 됩니다.

Matching outputs

Differing outputs

제 문제는 공식을 수정해서 작동시키는 것이 아닙니다.오히려 엑셀 365와 엑셀 2019의 차이점이 왜 있는지 알고 싶습니다.

재미있는 글.당면한 문제가 비논리적이기 때문에, 설명(혹은 문서화의 부족으로 인한 가설)은 사실 그 반대입니다.간단히 말해서, 동적 어레이는 ms365와 의 각 조건을 처리하는 이전 버전의 차이의 원인입니다.AND()기능.

첫째, ms-document에서 모든 조건을 평가할 필요가 있음을 알려주더라도TRUE, 현실은 우리가 명심해야 할 두 가지 다른 중요한 규칙이 있다는 것입니다.

  • 인수로 제공된 텍스트 값 또는 빈 셀은 무시됩니다.
  • 평가 중 논리적 값이 없거나 생성되지 않으면 AND 함수는 #VALUE를 반환합니다.

다음 예제에서 값이NY셀에 적습니다.A1. Excel 2019 이전 버전에서는 다음과 같은 결과를 받아야 합니다.

공식 결과
=AND (TRUE) 진실의
=AND (TRUE,A1) 진실의
=AND (TRUE,"NY" #VALUE
=AND(TRUE,{"NY"}) 진실의
=AND({"NY"}) #VALUE

의도적이든 아니든 ms365 이전 버전에서는 배열 형식으로 쓰이거나 셀 참조를 통해 풀인하지 않으면 텍스트 값이 오류를 초래합니다.

저는 ms365와의 차이가 동적 배열 기능의 역학으로 인해 후자가 자동으로 단일 텍스트 값을 배열로 평가할 것이라고 설명될 이라고 예상할 수 밖에 없습니다.

언급URL : https://stackoverflow.com/questions/71123602/standard-excel-formula-behaves-differently-depending-on-which-version-of-excel-i

반응형