Excel에서 현재 셀 위의 모든 숫자를 어떻게 합칠 수 있습니까?


31

Excel에서 머리글, 여러 개의 숫자로 구성된 열을 가지고 있고 맨 아래에 해당 숫자의 합계를 갖기를 원합니다. 총계보다 새로운 숫자를 삽입하는 데 합계를 적용하고 싶습니다. 이 같은:

Numbers
 1
 2
 5
10

18        Total

나중에 목록 가운데 10 개의 새 숫자를 삽입하면 합계에 자동으로 숫자가 포함되기를 원합니다.

SUM()함수가 전체 열을 합할 수 있다는 것을 알고 있지만 총계가 해당 열에 있으면 순환 참조에 대해 불평합니다. 총계의 숫자를 합산하려면 어떻게해야합니까?

답변:


51

기능 ROW()COLUMN()현재 셀의 행과 열을 제공 할 것입니다. ADDRESS()함수 에서 그것들을 사용 하여 현재 열의 상단에서 총계 위의 행까지의 범위를 나타내는 문자열을 만듭니다. 그런 다음 INDIRECT()함수를 사용하여 해당 문자열을 실제 범위로 바꾸어 함수에 제공하십시오 SUM(). 총 셀의 공식은 다음과 같습니다.

=SUM(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))

스프레드 시트의 셀에 넣으면 해당 셀 위의 열에있는 모든 숫자의 합이 생성됩니다.


1
@ user370646 실제로 방금 추가 된 다른 셀에 여러 가지 유형의 수식을 사용하여 Excel 2010에서 테스트했으며 올바르게 작동했습니다. (추가되는 셀에 합계와 함께 셀을 참조하는 수식이 포함되어 있으면 순환 참조 오류가 발생하지 않습니다.) 특정 예가 있습니까?
Mark Meuer

1
백만 +1 회 이것은 합계 기능 범위 -DON'T-가 자동으로 업데이트되는 Google 스프레드 시트에서 작동합니다. 정말 고맙습니다.
seekerOfKnowledge 14

1
방금 Google 스프레드 시트 에서 테스트했으며 기능 조합이 완벽하게 작동합니다.
Sun

1
이 대답은 내 생명을 구했습니다!
kRazzy R

1
LibreOffice Calc에서도 작동하는 것 같습니다.
데잔

6

사실, 원하는 것을 평범하게 할 수 있습니다 =SUM()

Excel 시트에 다음과 같은 디자인이 있다고 가정합니다.

\|  A  |  B  |
-+-----+-----+
1|  1  |     |
2|  2  |     |
3|  3  |     |
4|  4  |     |
5|  5  |     |
6|     |     |
7|  15 |Total|

Assumng는 A7것입니다 =SUM(A1:A5)Excel에서 확장됩니다 당신이, 제발 당신과 같이 많은 행을 추가 할 수 =SUM의 그에 따라 다양합니다.

이제 2, 3, 4 행을 선택하고 행을 삽입한다고 가정합니다. 결과는 다음과 같습니다.

 \|  A  |  B  |
--+-----+-----+
 1|  1  |     |
 2|     |     |
 3|     |     |
 4|     |     |
 5|  2  |     |
 6|  3  |     |
 7|  4  |     |
 8|  5  |     |
 9|     |     |
10|  15 |Total|

A10같습니다 =SUM(A1:A8). 따라서 원하는대로 새 번호를 삽입 할 수 있습니다.


1
이제 당신이 철자를 썼으니, 나는이 행동을 알고있었습니다. 그러나 어떤 이유로 든 현재 셀 바로 위에 항상 합산되는 수식을 갖는 것이 편리 할 것이라고 생각했습니다. 그러나 내가 만든 복잡한 수식보다 간단한 합계 범위를 만드는 것이 분명히 쉽습니다. 나는 반으로 너무 똑똑했다. 감사! (내가 전에는 사용하지 않은 INDIRECT와 ADDRESS에 대해 최소한 배웠다는 사실을 스스로에게
알려야한다

2
1 년이 지난 후에도 계속 투표권을 행사하고, 질문에서 요청한 작업을 수행하며,이 답변이없는 Google 스프레드 시트에서 작동하는 것으로 승인 된 답변을 게시 한 답변으로 변경했습니다. 그러나 @Doktoro, 귀하의 답변은 매우 유용한 통찰력을 제공했으며 감사합니다.
Mark Meuer

1
결함이 있습니다. 끝에 빈 행 앞에 행을 삽입하십시오. 적어도 LibreOffice에서는 SUM- 수식을 원래 범위로 남겨두고 새 행을 생략합니다. 내 해결책 : SUM(OFFSET(A$1; 0; 0; ROW(A7)-ROW(A$1); 1)). 위의 행이 아니라 자체를 참조하기 때문에 항상 범위를 올바르게 조정합니다.
Tilman Vogel

@TilmanVogel의 답변이 될 것입니다! 감사합니다
Genarito

5

이 답변은 Libra Office에만 해당되지만 Excel에서도 작동합니다.

기본적으로 고정 할 행 / 열을 명시 적으로 언급하려면 해당 행 / 열이있는 $를 언급해야합니다.

* 수식이 다른 셀에 복사 될 때 Libra Office는 수식 값을 변경하는 방법을 자동으로 결정하도록 내장 알고리즘도 있습니다.

따라서 모든 행을 추가해야한다고 가정합니다. G1 : GN => 여기서 N은 현재 행 번호입니다. 이를 위해 첫 번째 값의 행을 수정하고 다른 값을 그대로 유지하려고합니다. 따라서 공식은 다음과 같습니다.

= SUM (G $ 1 : G1)-> 첫 번째 행에 대한 수식을 다른 셀에 복사하여 붙여 넣을 수 있습니다.

Libra Office는 자동으로 G1을 첫 번째 값으로 유지하고 두 번째 값을 모든 셀에 대해 G2, G3 등으로 동적으로 변경합니다.


Apostolos55의 답변> = Sum ($ A1 : A1) <에 따르면 열 A 만 고정되므로 작동하지 않지만 수식을 동일한 열의 다른 셀에 복사하면 행이 계속 변경됩니다. 따라서 수식에서 올바른 값을 얻으려면 행 앞에 $를 추가해야합니다. 또한 다른 조합이 무엇인지 설명하지 않았으므로 대안을 제공했습니다. 셀을 일정하게 유지해야하는 경우 $는 행과 열 모두에 적용되어야합니다.
Prateek 2018 년

3

좋아, Indirect ()는 휘발성입니다 ... 그래서 시트가 커질수록 느려집니다. 그것이 당신에게 적합하다면, 당신은 더 잘 사용할 것입니다 :

=Sum($A1:A1)

이 수식을 아래로 끌면 항상 A1에서 현재 (또는 이전 등) 셀까지의 범위가됩니다. 휘발성이없고 매우 빠르고 훨씬 더 간단합니다!


응답 해주셔서 감사합니다. 귀하의 답변이 @Doktoro Reichard의 답변과 어떻게 다릅니 까?
Mark Meuer

이것은 다음 열에서와 같이 셀과 함께 "따를 수있는"합계입니다. 그런 다음 IF를 사용하면 마지막 합계 만 표시 / 계산할 수 있습니다. 아마 당신이 찾고있는 것이 아니라 아는 것이 좋을 것입니다.
Apostolos55

정보 주셔서 감사합니다. 원래 질문 (특히 셀 의 숫자를 합하는 수식을 찾고 있음)의 문제를 해결하지는 않지만 다른 상황에서 도움이 될 수 있습니다.
Mark Meuer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.