ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엑셀함수 INDIRECT 사용방법 / 누적 합계 계산하는 방법
    [프로그램]/IT 이야기 2022. 12. 20. 19:30
    728x90

     

    엑셀을 사용하다보면

    특정 셀 위치의 값을 가져올 때가 있는데요

    가장 편하게 쓰는 방법은

    "=셀주소"

    입니다.

     

    예를 들어 "=A1"이라고 입력하면

    A열 1행의 값을 가져오죠

     

    그런데 수식으로 계산된 셀의 주소(문자열) 값으로

    가져오려면 어떻게 해야할까요?

     

    바로 INDIRECT 라는 함수를 이용하면 됩니다!

     

     

    INDIRECT두 개의 입력값

    필요로 하는데요

    첫 번째는 가져올 셀의 주소

    "A1" 혹은 "R1C1"과 같은 스타일로

    입력을 하면 됩니다.

     

    두 번째 값은

    앞에 입력한 셀 주소가

    "A1"과 같은 스타일이면

    TRUE나 생략을 하시면 되고

    "R1C1"과 같은 스타일이면

    FALSE를 입력해주면 됩니다!!

     

     

    바로 예제를 볼게요!!

    B2 셀에

    =INDIRECT("F1")

    을 입력했습니다.

    그러면 F열 1행에 있는 "HELLO"라는 단어를

    불러오는 것을 볼 수 있습니다.

     

    사실 "=F1"을 입력해도

    같은 결과가 나오죠

    ㅎㅎㅎ

     

    이번에는 B2셀에

    =INDIRECT(G1)

    이라고 입력해봤습니다.

     

    아까와 차이점은

    셀이름에 쌍따옴표를 붙인것과 붙이지 않은 것의 차이입니다.

     

    이렇게 입력하니

    G1셀에 있는 "E1"이라는 문자열이 표시되는 것이 아니라

    E1셀에 있는 값인 "HI"를 표시하고 있습니다.

     

    INDIRECT 함수 안에 셀 주소를 쓸 때

    쌍따옴표를 입력하면

    해당 셀의 값을 가져오고

    쌍따옴표를 하지 않으면

    해당 셀에 "참조할 셀 주소"를 가지고 있는 것으로

    인식을 했습니다.

     

    그렇다면 이 INDIRECT 함수를 이용해

    상위 행의 값을 누적해서

    더하는 작업을 해볼게요!!

    이렇게 엑셀에 값을 입력했습니다.

    E2셀에는 "=C2 - D2" 값이 들어있습니다.

    그리고 "누적(F열)"셀에는

    =IF( B2 = 1, E2, INDIRECT("F" & B2) + E2)

    값을 입력하고

    그 밑의 행으로는 자동채우기를 수행했습니다.

     

     

    F2셀에 있는 수식을 분석해볼게요!!!

    IF 조건문 사용법

    =IF( 조건, 참일때 수행, 거짓일 때 수행)

    인데요

    조건을 보면 B2행이 1인지 비교하고 있어요

    B2행은 1이기 때문에

    (즉, 첫번째 행이기 때문에)

    합계값(E2)을 출력하게 되어있어요

    그래서 80이란 값이 나왔습니다.

     

    그 다음줄인

    F3셀에 있는 수식을 분석해볼게요!

    IF 조건을 보면

    행이 다음칸으로 넘어가면서

    B3셀의 값이 1인지 비교하고 있어요

    B3셀의 값은 2이기 때문에

    이번에는 두 번째에 있는

    INDIRECT('F' & B3) + E3

    수행하겠네요!

     

    INDIRECT 함수 안에는 "F" & B3이 있는데

    이것은 문자열 병합하는 방법으로

    두 개의 문자열을 하나로 합쳐준답니다.

    "F" & "2(B3셀의 값)"을 합쳐서

    "F2"라는 문자열로 인식이 된답니다.

     

     

    그러면 INDIRECT("F2") "F2"셀의 값

    가져오기 때문에 80이란 값을 가져오겠네요

    그리고 뒤에 E3 값(170)을 더하도록 되어있으니

    80 + 170의 값

    250이 F3에 출력되고 있답니다.

     

    이렇게 그 밑으로도

    "일자(B열)"값이 1이 아닌 이상

    (즉 처음 행이 아닌 이상)

    상위행의 값을 누적하여

    계산하게 된답니다.

     

    예제 엑셀파일도 같이 올려볼게요!!!

    엑셀예제_누적합계구하기.xlsx
    0.01MB

     

    INDIRECT 함수를 이용해서

    문자열 셀 주소의 값을 가져올 수 있기 때문에

    다양한 수식을 계산할 때

    아주 유용하게 사용할 수 있답니다!!

     

    그럼 엑셀 INDIRECT 함수 사용방법에 대한

    포스팅을 마치도록 하겠습니다!!!

    728x90

    댓글

Designed by Tistory.