VBA를 사용하지 않고 다른 셀에서 가져온 행 및 열 번호로 참조되는 합계 셀


2

내 문제는 매우 간단하지만 설명이 다소 복잡합니다.

4 개의 정수를 포함하는 4 개의 셀이 있는데, 이는 두 셀의 행 및 열 번호를 나타냅니다. 예 :

     A    B
1    54   23
2    154  123

그래서 우리는 두 개의 세포를 가지고 있습니다 :

  • 셀 # 1 : 54 행, 23 열
  • 셀 # 2 행 154, 열 123.

셀 # 1과 셀 # 2 사이의 모든 셀의 내용을 합산하려고합니다. 물론 실제 값이 아닌 관련 값을 포함하는 셀 A1, A2, B1, B2에 대한 참조를 원합니다. 이 합계를 셀 C3에 넣고 싶습니다.

VBA에서는 간단하지만 (긴하지만)

Range("C3").Cells = WorksheetFunction.Sum( _
    Range(Cells(Cells(1,1),Cells(1,2)), _
        Cells(Cells(2,1),Cells(2,2))))

VBA없이 어떻게합니까?

나는 같은 것을 시도했다 =SUM(ADDRESS(A1,B1),ADDRESS(A2,B2)). 내 문제는 ADDRESS () 사용하면 텍스트를 반환한다는 것입니다. 이 텍스트를 SUM ()에 넣으면 오류가 반환됩니다.

답변:


2

[편집-원래 질문을 잘못 읽었습니다.]

이를 수행하는 한 가지 방법은 OFFSET함수를 사용하여 원하는 범위를 찾는 것입니다.

=SUM(OFFSET(A1,A1-1,B1-1,A2-A1+1,B2-B1+1))

OFFSET(A1,A1-1,B1-1)는 행 및 열 번호가 A1 및 A2의 값인 하나의 셀 범위를 나타냅니다. 마지막 두 매개 변수 ( A2-A1+1B2-B1+1)는 새 범위의 행 및 열 수입니다.


내 것보다 훨씬 간단합니다. -이걸 사용하십시오.
B540Glenn

완벽하고 간단합니다! OFFSET 기능을 검토해야합니다. 죄송합니다, 귀하의 게시물을 옹호 할 수 없습니다 (너무 낮은 평판) Blackwood & @ B540Glenn
vpprof

2

간접 및 주소는 일시적으로 사용됩니다. INDEX :

=SUM(INDEX(A:AAA,A1,B1):INDEX(A:AAA,A2,B2))

0

작동하지 않는 것 같습니다.

=SUM(INDIRECT(ADDRESS(ROW(INDIRECT("R"&A1&"C"&B1,FALSE)),COLUMN(INDIRECT("R"&A1&"C"&B1,FALSE)))):INDIRECT(ADDRESS(ROW(INDIRECT("R"&A2&"C"&B2,FALSE)),COLUMN(INDIRECT("R"&A2&"C"&B2,FALSE)))))

셀 내용을 R1C1 스타일 참조 (즉 R54C23) 로 변환합니다 . 거기서부터 고정 된 참조 (즉 $W$54) 로 변환합니다 . 그런 다음 간접적으로 사용하여 SUM()함수 에 연결 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.