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.