Excel VLOOKUP이 내 애플리케이션에 가장 적합한 선택인가요?

Excel VLOOKUP이 내 애플리케이션에 가장 적합한 선택인가요?

특정 위도/경도를 기준으로 일년 내내 태양의 최대 고도를 하루에 한 행씩 추적하는 Excel 파일이 있습니다. 위도/경도를 편집하면 일일 최대 고도가 변경됩니다.

전체 데이터베이스(2열, 366행)를 쿼리하여 태양이 처음으로 지정된 고도에 도달하기 시작하는 날짜와 더 이상 해당 고도에 도달하지 않는 날짜를 알려주는 수식을 작성하고 싶습니다.

예를 들어, 호놀룰루는 5월 1일에 최대 태양 고도 80도를 경험하고 80도 이상(매일 1회)을 유지하다가 80도 아래로 떨어지는 8월 19일까지 유지합니다.

이미 고도 데이터가 있다는 점을 고려하여 이 두 날짜를 생성하는 Excel 함수를 원합니다.

감사해요!

답변1

여기서 해결 방법은 배열 수식에 INDEX()및 의 조합을 사용하는 것입니다 .MATCH()

문제를 해결하기 위해 두 개의 배열 수식을 작성했습니다.

시작일: {=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 0), 1)}

종료일: {=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 1), 1)}

작동 방식은 다음과 같습니다.

  • Elevation는 해당 연도의 모든 고도를 보유하는 명명된 범위이고, Find_Elevation우리가 찾고 있는 범위인 명명된 범위입니다. 귀하의 예에서 이것은80
  • 표현식은 and (Elevation>=Find_Elevation)의 배열을 반환합니다 (이것이 배열 수식이어야 하는 이유입니다). 매일의 고도가 찾고 있는 고도보다 크거나 같을 때마다 반환됩니다 .TRUEFALSETRUE
  • MATCH()세 번째 인수를 갖는 함수는 처음 0본 시점의 인덱스를 반환합니다 TRUE. 이것은 태양이 찾고 있는 고도 위에 있는 첫날의 지수입니다.
  • 1함수 에서 세 번째 인수를 사용하면 MATCH()마지막으로 본 시간을 반환합니다 TRUE. 이것은 태양이 찾고 있는 고도 위에 있는 마지막 날의 지수입니다.
  • 우리는 이 두 가지를 두 번째 인수로 에 전달하고 INDEX(), 반환된 값에 해당하는 날짜를 반환합니다.MATCH()

저는 FormulaChop을 사용하여 위의 공식을 생성했습니다(전체 공개: FormulaChop을 작성했습니다). 여기FormulaChop이 이 수식을 표시하는 방법을 보여주는 스크린샷입니다.여기공식을 보여주는 스프레드시트에 대한 링크입니다. 태양 고도를 보충해야 했던 점 양해 부탁드립니다.

관련 정보