LET함수= LET ( 이름1, 값1, [이름2], [값2], … , 계산식 )

-수식에 이름 할당

ex) =LET(국가번호, TEXTBEFORE(I10:I17," "),
국가,XLOOKUP(국가번호, M10:M15,N10:N15), 국가)

-이름1: 국가번호, 값1: TEXTBEFORE(I10:I17," "), 이름2: 국가, 값2:XLOOKUP(국가번호, M10:M15,N10:N15), 계산식: 국가  

*주의: 이름에 큰 따옴표 붙이면 안 됨

 

LAMBDA함수 = LAMBDA ( 인수1, [인수2], … , 수식 )

-나만의 함수 만들기 

ex) =LAMBDA(값1,값2,값1+값2)

-수식 탭- 이름관리자- 새 항목- 참조 대상: =LAMBDA(값1,값2,값1+값2)

*웹버전에서는 수식 자동완성 안 되더라도 수식 적용 잘 됨 

 

TEXT함수= TEXT ( 값, 표시형식 )

-셀의 값을 사용자 지정 형식으로 텍스트로 변환

ex) TEXT(C10,"yyyy-mm-dd (aaa)"

ex) TEXT(C14,"#,##0"

ex) =LAMBDA(연락처, TEXT(연락처,"000-0000-0000"))

 

TEXTSPILT함수= TEXTSPLIT(텍스트, 열구분자, [행구분자], [빈칸무시], [일치옵션], [기본값] )

-문장을 지정한 구분기호로 분할 

*동적 배열 함수는 드래그로 자동채우기, 더블클릭으로 자동채우기X

 

TEXTJOIN함수= TEXTJOIN(구분기호, 빈 셀 무시, 범위1) 

-범위의 문장을 구분기호로 나눠 한 문장으로 결합

 

ex) TEXTSPLIT(TEXTJOIN("/", TRUE,B10:B15),">","/")

-텍스트는 TEXTJOIN("/", TRUE,B10:B15), 열구분자는 >, 행구분자는 /

 

IFERROR함수=IFERROR(수식, 오류 시 반환값) 

-오류가 발생할 경우 지정한 값을 대체하여 반환

ex) =IFERROR(TEXTSPLIT(TEXTJOIN("/", TRUE,B10:B16),">","/"),"")

 

*함수 이름에 "TEXT"가 들어간 모든 함수는 결과값으로 '문자 데이터'를 반환 

*문자는 왼쪽 정렬, 숫자는 오른쪽 정렬 

해결방법: 곱하기 1과 IFERROR

=IFERROR(TEXTSPLIT(TEXTJOIN("/",TRUE,G10:G15),":","/")*1,TEXTSPLIT(TEXTJOIN("/",TRUE,G10:G15),":","/"))

-IFERROR함수 사용해서 *1을 했을 때 숫자는 잘 출력됨, 그러나 오류 시에는(문자일 경우) 그대로 출력하도록 함 

 

엑셀 배열 계산 

-엑셀에서 논리(TRUE, FALSE)는 각각 TRUE = 1, FALSE = 0 으로 계산

- ① 모든 조건을 만족(AND) → 곱셈 / ② 둘 중 하나라도 만족(OR) → 덧셈

ex) =FILTER(K10:M20,(K10:K20=O8)*(M10:M20>=Q8))

 

TAKE함수= TAKE ( 범위, 추출할행수, [추출할열수] )

-범위에서 지정한 수의 행이나 열 추출 

-행/열 개수를 음수로 입력하면 범위의 아래, 오른쪽에서 데이터 추출

ex) =TAKE(범위, 3) : 상위 3개 불러오기, =TAKE(범위, -3): 하위 3개 불러오기

 

DROP 함수= DROP ( 범위, 제거할행수, [제거할열수] )

-범위에서 지정한 개수의 행이나 열을 제거한 결과 반환

ex) =DROP(B10:C20,-1) : 하위 행 제거

 

HSTACK함수 = HSTACK ( 범위1, [범위2], … )

- 여러 범위를 가로로 결합하여 하나의 큰 배열을 만들어줌

 

(M365에서만 가능) GROUPBY 함수 =GROUPBY(행영역, 값영역, 함수, [머리글여부])

-데이터를 그룹화하여 집계된 요약 보고서 반환 

ex) GROUPBY(K10:K24,M10:M24,SUM)

 

 

 

*풀이 

=LET(구분범위,K10:K24, 
금액범위,M10:M24,
구분목록, UNIQUE(구분범위),
집계범위,SUMIF(구분범위,구분목록,금액범위),
HSTACK(구분목록, 집계범위))

 

이름값 1, 값1 

이름값2, 값2 

이름값3= 구분목록, 값3= 구분범위의 고유값만 추출

이름값4= 집계범위, 값4= SUMIF(범위, 조건은 구분범위의 고유값만 추출한 구분목록, 합계는 금액범위 

출력값: HSTACK(고유값인 구분목록, 집계범위) 

 

*Ctrl+Shift+방향키: 인접 범위 선택

*Ctrl+백스페이스 : 수식 편집 셀로 이동

 

*SUMIF와 같이 인수를 '범위'로 받아오는 함수에는 CHOOSECOLS(배열)가 아닌 INDEX 함수 사용해야 함 

 

INDEX함수=INDEX(범위, 행번호, [열번호],[배열번호])

-범위에서 저장한 위치의 값 반환 

ex) =MYREPORT(INDEX(N3#,,3),INDEX(N3#,,7))