2012-02-27 15 views
0

여러 셀에서 단일 OFFSET() 결과를 어떻게 사용할 수 있습니까?중복 OFFSET 계산 방지

많은 행이있는 워크 시트가 있습니다. 각 행마다 관심있는 연속적인 열 집합이 있습니다. 관심있는 열의 범위는 다른 곳에서 설정된 일부 셀에 따라 다릅니다. 범위를 정의하려면 OFFSET() 함수를 사용할 수 있습니다.

각 행에 대해 동일한 배열 참조에서 여러 배열 함수 (SUM, AVERAGE 등)를 호출해야합니다.

각 경우에 OFFSET을 호출하여 수행 할 수 있습니다 ... SUM (OFFSET (args)), AVERAGE (OFFSET (args)); 그러나 배열의 최신 정의와 동기화 된 OFFSET 호출을 모두 유지하려고하면 오류가 발생합니다.

인가가 난 한 곳에서 참조의 정의를 변경하고 모두에 적용 할 수 있도록 내가

B1: =SUM(OFFSET(args)) 
C1: =MAX(OFFSET(args)) 

A1: =OFFSET(args) 
B1: =SUM(A1) 
C1: =MAX(A1) 

또는 동등한 바꿀 수있는 방법 행의 함수들?

+0

다른 열이 있습니까 (또는 잠재적으로 다른) 각 열에 대해 또는 동일한 열을 줄곧보고 있습니까? –

답변

3

필자의 예를 읽고 나에게 이것은 명명 된 수식을 사용하기에 완벽한시기입니다. CTRL-F3을 사용하여 이름 마법사를 열고 MyRange과 같은 이름을 만들고 REFERSTO : 섹션에 A1에 넣는 OFFSET() 수식을 입력하십시오. 절대 참조 된 공식으로 지정하십시오. 그런 다음

당신이

A1로 만든 결과 범위 요약 할 수 있어야한다 : = SUM (MyRange)

B1 : = MAX (MyRange)

+0

간단하고 효과적인 +1 – brettdj

+0

동의. 내 대답은 너무 복잡했다. 이것은 훨씬 쉽습니다. –

+0

이 솔루션을 따르는 지 확인하려면 행마다 하나의 수식을 제안 하시겠습니까? 그 해결책은 규모가 있습니까? – VoiceOfUnreason

0

Address 함수를 사용하여 범위 주소를 만든 다음 Indirect을 사용하여 해당 범위를 참조 할 수 있습니다. 예를 들어, A1에서 =ADDRESS(5,2,1,1)&":"&ADDRESS(5,3,1,1)을 입력한다고 가정합니다. 그러면 $ B $ 5 : $ C $ 5의 주소가 주어집니다. 이제 =SUM(INDIRECT(A1))과 같은 수식을 사용하여 해당 범위의 값의 합계를 얻을 수 있습니다.

귀하는 충분한 세부 사항을 제공하지 않으므로 Offset의 사용이이 계획에 부합하는지 알 수 없습니다. 시작 및 끝 행과 열을 계산할 수있는 경우 OffsetAddressIndirect으로 바꿀 수 있습니다. 어떻게 든 작동시킬 수는 있지만 도움이되는 정보가 충분하지 않습니다.

0

OFFSET 배열 입력 수식을 사용하여 소스 테이블 오른쪽 (또는 필요한 경우 다른 시트)의 일관된 열에서 시작하여 오른쪽으로 작업 할 때 각 행에 대해 올바른 열 집합을 생성 할 수 있습니다. 그런 다음 B1, C1 등의 다른 모든 수식에서 동일한 범위를 사용할 수 있습니다.

가끔씩 다른 수의 열을 선택해야하는 경우 # N/A 오류가 발생하지 않도록 오류 처리를 추가해야합니다. 계산을 오염시키지 않아야합니다. 이것은 IF를 ISERROR 또는 ERROR.TYPE와 결합하여 수행 할 수 있습니다.