메뉴
실무 위키응용 공식엑셀 구분기호 숫자 합계 공식

엑셀 구분기호 숫자 합계 공식

2010
지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

한 셀에 구분기호로 나뉘어 입력된 숫자의 합계를 계산하는 공식입니다. TEXTSPLIT 함수 또는 배열 수식으로 계산할 수 있습니다.

엑셀 구분기호 숫자 합계 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01TEXTSPLIT 함수 공식 (엑셀 2024 이후)

=SUM ( IFERROR ( --TEXTSPLIT ( , "구분기호" ), 0 ) )
=SUM ( IFERROR ( --TEXTSPLIT ( , {"기호1","기호2"} ), 0 ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
필수구분기호로 나뉜 숫자와 문자가 입력된 셀입니다.
구분기호필수숫자를 나누는 문자입니다. 여러 종류를 함께 나눌 때는 배열 상수로 입력합니다. 예) {",","/"}
D2=SUM(IFERROR(--TEXTSPLIT(B2,","),0))
A
B
C
D
E
1
영업팀
분기별 실적
연간 합계
2
1팀
120, 80, 가, 100
300
3
2팀
90, 110, 100, 100
400
4
3팀
75, 25, 50, 나
150
5
4팀
130, 120, 150, 100
500
6
5팀
60, 70, 80, 90
300
7
6팀
200, 가, 150, 50
400
8
7팀
45, 55, 65, 35
200
9
TEXTSPLIT 함수가 B2 셀의 값을 쉼표로 나누고 숫자가 아닌 ‘가’를 0으로 바꾼 뒤 더하므로 D2 셀은 300을 반환합니다.

02MID + SUBSTITUTE 배열 수식 (엑셀 2010 이후)

{=SUM ( IFERROR ( --TRIM ( MID ( SUBSTITUTE ( "구분기호"&, "구분기호", REPT ( " ", LEN ( )+1 ) ), ROW ( INDIRECT ( "A1:A"& ( ( LEN ( )-LEN ( SUBSTITUTE ( , "구분기호", "" ) ) ) / LEN ( "구분기호" )+1 ) ) ) * LEN ( )+1, LEN ( )+1 ) ), 0 ) )}
인수 설명 자세히 보기
인수구분설명
필수구분기호로 나뉜 숫자와 문자가 입력된 셀입니다.
구분기호필수숫자를 나누는 문자입니다. 이 배열수식은 한 종류의 구분기호를 처리합니다. 예) ","
D2{=SUM(IFERROR(--TRIM(MID(SUBSTITUTE(","&B2,",",REPT(" ",LEN(B2)+1)),ROW(INDIRECT("A1:A"&((LEN(B2)-LEN(SUBSTITUTE(B2,",","")))/LEN(",")+1)))*LEN(B2)+1,LEN(B2)+1)),0))}
A
B
C
D
E
1
영업팀
분기별 실적
연간 합계
2
1팀
120, 80, 가, 100
300
3
2팀
90, 110, 100, 100
400
4
3팀
75, 25, 50, 나
150
5
4팀
130, 120, 150, 100
500
6
5팀
60, 70, 80, 90
300
7
6팀
200, 가, 150, 50
400
8
7팀
45, 55, 65, 35
200
9
쉼표를 긴 공백으로 바꿔 각 값을 분리하고 숫자가 아닌 ‘가’를 0으로 바꾼 뒤 더하므로 D2 셀은 300을 반환합니다.

동작 원리

01TEXTSPLIT 함수 공식 (엑셀 2024 이후)

TEXTSPLIT 함수는 셀의 값을 구분기호로 나누고, 이중 부호와 IFERROR 함수가 숫자만 남긴 뒤 SUM 함수가 합계를 계산합니다.

엑셀 2024 · M365 공식의 예제 시트에서 D2 셀이 300을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

TEXTSPLIT 함수가 값을 나눕니다

TEXTSPLIT 함수는 B2 셀의 문자열을 쉼표 기준으로 나눠 네 개의 값을 반환합니다.

=TEXTSPLIT ( B2, "," )
= {"120"," 80"," 가"," 100"} 쉼표로 나눈 네 값입니다.
2

이중 부호가 숫자로 변환합니다

이중 부호(--)는 분리된 텍스트 숫자를 숫자 데이터로 변환합니다. 숫자로 변환할 수 없는 ‘가’는 #VALUE! 오류를 반환합니다.

=--TEXTSPLIT ( B2, "," )
= {120,80,#VALUE!,100} 숫자 세 개는 변환되고 ‘가’에서 오류가 발생합니다.
3

IFERROR 함수가 오류를 0으로 바꿉니다

IFERROR 함수는 이중 부호가 반환한 #VALUE! 오류를 0으로 바꿉니다.

=IFERROR ( --TEXTSPLIT ( B2, "," ), 0 )
= {120,80,0,100} 오류가 0으로 바뀐 숫자 배열입니다.
4

SUM 함수가 합계를 계산합니다

SUM 함수는 120+80+0+100을 더해 D2 셀의 연간 합계를 계산합니다.

=SUM ( IFERROR ( --TEXTSPLIT ( B2, "," ), 0 ) )
= 300 120+80+0+100의 합계입니다.

02MID + SUBSTITUTE 배열 수식 (엑셀 2010 이후)

SUBSTITUTE 함수와 REPT 함수가 구분기호를 긴 공백으로 바꾸고, ROW 함수와 INDIRECT 함수가 만든 위치에서 MID 함수가 값을 꺼내면 이중 부호와 IFERROR 함수가 숫자만 남긴 뒤 SUM 함수가 합계를 계산합니다.

MID 배열 공식의 예제 시트에서 D2 셀이 300을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

ROW 함수가 추출 위치를 만듭니다

LEN 함수와 SUBSTITUTE 함수로 B2 셀의 쉼표 세 개를 세면 값은 네 개입니다. INDIRECT 함수가 A1:A4 참조를 만들고 ROW 함수가 각 순번에 B2 셀의 길이 15를 적용해 추출 시작 위치를 계산합니다.

{=ROW ( INDIRECT ( "A1:A"& ( ( LEN ( B2 )-LEN ( SUBSTITUTE ( B2, ",", "" ) ) ) / LEN ( "," )+1 ) ) ) * LEN ( B2 )+1}
= {16;31;46;61} B2 셀에서 각 값을 꺼낼 시작 위치입니다.
2

MID 함수가 각 값을 추출합니다

SUBSTITUTE 함수와 REPT 함수가 쉼표를 16칸의 공백으로 바꿉니다. MID 함수는 계산된 네 위치에서 같은 길이로 값을 꺼내고 TRIM 함수가 양쪽 공백을 제거합니다.

{=TRIM ( MID ( SUBSTITUTE ( ","&B2, ",", REPT ( " ", LEN ( B2 )+1 ) ), {16;31;46;61}, LEN ( B2 )+1 ) )}
= {"120";"80";"가";"100"} 공백을 제거하고 남은 네 값입니다.
3

이중 부호와 IFERROR 함수가 숫자만 남깁니다

이중 부호는 텍스트 숫자를 숫자 데이터로 바꾸고, IFERROR 함수는 숫자가 아닌 ‘가’에서 생긴 오류를 0으로 바꿉니다.

{=IFERROR ( --TRIM ( MID ( SUBSTITUTE ( ","&B2, ",", REPT ( " ", LEN ( B2 )+1 ) ), {16;31;46;61}, LEN ( B2 )+1 ) ), 0 )}
= {120;80;0;100} 숫자로 바꿀 수 있는 값만 남긴 배열입니다.
4

SUM 함수가 합계를 계산합니다

SUM 함수는 120+80+0+100을 더해 D2 셀의 연간 합계를 계산합니다. 동적 배열을 지원하지 않는 버전에서는 수식을 Ctrl+Shift+Enter로 확정합니다.

{=SUM ( IFERROR ( --TRIM ( MID ( SUBSTITUTE ( ","&B2, ",", REPT ( " ", LEN ( B2 )+1 ) ), ROW ( INDIRECT ( "A1:A"& ( ( LEN ( B2 )-LEN ( SUBSTITUTE ( B2, ",", "" ) ) ) / LEN ( "," )+1 ) ) ) * LEN ( B2 )+1, LEN ( B2 )+1 ) ), 0 ) )}
= 300 120+80+0+100의 합계입니다.
댓글 12
5 (8개 평가)
포니
포니 2021.08.04 10:33
유익해요! 감사합니다.
ysmm
ysmm 2022.07.01 14:39
안녕하세요 혹시 구분 기호로 나뉜 숫자의 값을 각각 불러올 수 있는 방법은 없을까요?
오빠두엑셀
오빠두엑셀 2022.07.03 18:07
아래 공식을 사용해보세요.
https://www.oppadu.com/엑셀-텍스트-나누기-공식/
bjv2006
bjv2006 2023.03.23 09:36
INDIRECT("A1:A"" 가 무엇을 의미하는것이고 왜 하는거죠?
오빠두엑셀
오빠두엑셀 2023.03.24 01:04
안녕하세요.
아래 강의를 참고해보시길 바랍니다.
https://www.oppadu.com/%ec%a7%84%ec%a7%9c%ec%93%b0%eb%8a%94-%ec%8b%a4%eb%ac%b4%ec%97%91%ec%85%80-7-3-7/
INDIRECT 함수에 대한 설명은 아래 링크를 참고하세요.
https://www.oppadu.com/엑셀-indirect-함수/
행아
행아 2023.06.23 15:22
지난번에 숫자 갯수만 구하는 걸로 문의 몇 번 드렸었는데, 최종적으로 여기에서 해답을 찾았네요!! SUM을 COUNT로 바꾸니 정확하게 컴마 갯수를 빼고 날짜 갯수만 나오네요!!
알려주신 LEN 함수로는 날짜가 두자리이면 각각 계산을 하더라구요. 아무튼 덕분에 정말 업무에 많은 도움을 받고 있습니다. 감살합니다!!!
Yorum
Yorum 2023.08.01 19:14
Best best best..
엑셀밟아bar
엑셀밟아bar 2023.08.13 16:54
적용해볼게요 감사햡니다
경환
경환 2024.01.07 02:35
안녕하세요 선생님 엑셀 관련 정보 찾던 중에 궁금한 것이 있어 질문 남깁니다 :)
위의 예제에서 셀안에 있는 데이터의 합계를 구하는 것까진 이해됐는데 ,
한 셀 안의 숫자들을 합한 뒤 여기에
다른 셀의 데이터들도 합해서 총 합을 구하려면 수식을 어떻게 써야할지 여쭐 수 있을까요?
오빠두엑셀
오빠두엑셀 2024.01.08 00:20
안녕하세요.
다른 셀의 합계를 더하려면 수식을 다음과 같이 수정해서 사용해보세요.
=SUM(IFERROR(VALUE(TEXTSPLIT(TEXTJOIN("구분기호",,범위,범위,범위,...),"구분기호")),0))
TEXTJOIN 함수로 여러 범위의 문장을 하나로 합친 후, 합계를 구하는 원리입니다.
문제를 해결하시는데 도움이 되었길 바랍니다. 감사합니다.
강민준🤗
강민준🤗 2024.08.11 16:55
좋은 강의 감사합니다🙇‍♂️
강민준🤗
강민준🤗 2024.08.11 17:05
좋은 강의 감사합니다🙇‍♂️
스크랩 완료