rand(life)

[함수] 시그마 1 to n 값 구하기 본문

컴퓨터/엑셀

[함수] 시그마 1 to n 값 구하기

flogsta 2017. 9. 13. 08:07

지식인 질문에 대한 답이다. 내가 한 답은 아니지만, 발상이 놀라와서 가져온다.


1부터 n까지의 숫자 합을 구하는 식은

n
∑ k   이렇게 표현이 된다
k=1

이것을 엑셀에서 수식으로 표현하는 방법이다.

정답은

=SUMPRODUCT(ROW(OFFSET(A1,,,A1,)))


offset 함수의 성질을 이용했다.

offset함수의 설명을 반복한다.


offset 함수의 구문은 다음과 같다.

OFFSET(reference, rows, cols, [height], [width])

이 중, 뒤에 height와 width를 이용한 방법이다. 평소에 이 옵션을 빈칸으로 주면 offset함수는 reference위치에서 rows만큼 아래로, cols만큼 오른쪽으로 간 위치의 셀값을 보여준다.

하지만 height와 width를 표시한 offset함수는 reference위치에서 rows만큼 아래로, cols만큼 오른쪽으로 간 위치에서 행의 크기는 height만큼, 열의 크기는 width만큼 확장한 범위를 나타낸다.


즉.

=SUMPRODUCT(ROW(OFFSET(A1,,,A1,)))

이 수식 중


OFFSET(A1,,,A1,) 부분을 잘 보면, 첫번째 A1 뒤에 쉼표가 세 개 있다

즉, offset함수의 인수 중에서 rows, cols 부분이 비어있는 것이다. 

이 말은 A1 위치에서 아무곳으로도 이동하지 않고, A1부터 시작한다는 의미


그 뒤에 A1과 쉼표가 있는데

먼저 나온 인수가 height에 해당하므로, 행의 크기를 나타낸다.

즉, A1에 있는 숫자만큼 아래로 범위를 확장한다는 의미


마지막 쉼표 뒤에 아무것도 없으므로, 열의 크기는 확장하지 않는다는 의미이다.


A1자리에 숫자 7을 넣고 수식계산을 통해 진행시켜보면

A1 자리에 숫자 7이 있으므로

A1 -> 7

offset함수에서는 A1부터 시작해서 아래로 7행까지의 범위 지정을 하므로

OFFSET(A1,,,7,) 은 A1:A7이 된다

A1:A7의 row는 1에서 7까지이고,

그 범위(배열) 전체의 합은 sumproduct가 계산하므로,

결국 답은 28이 된다