반응형

lambda 18

같은 글자가 중복되는 경우 마지막 글자의 위치 찾기(2) - ByRow, Reduce

1. 문제아래와 같이 동, 리가 있는 경우 지번을 제외한 법정동을 추출해 보겠습니다.  2. 해법 1 - 성공가. Reduce 함수의 구문=REDUCE([initial_value], array, lambda(accumulator, value, body))로서[initial_value]는 옵션으로서 초기값이며, 생략하면 0이 됩니다. array는 처리할 대상이 되는 배열이고, 이 2개를 lambda함수에 전달하는데, accumulator는 누계값으로서 초기값은 Reduce함수의 첫 번째 인수인 initial_value가 되며, value는 현재 처리할 셀 또는 값으로서 current_value가 이해하기 쉽습니다. 예를 들어 Reduce 함수의 두 번째 인수인 array로 A2셀에서 A7셀을 입력하면 순서..

Excel 2024.09.19

연령별 채권잔액 구하기(3) - Reduce 함수

1. 문제1편에서는 월별 매출액, 수금액 시트에서 월별 채권잔액을 구하고, 2편에서는 월별 잔액을 집계표 형식으로 구했는데, 2편과 같은 값을 Reduce함수를 이용해 구해보겠습니다. 2. Reduce 함수와 Scan 함수Reduce함수는 최종 결괏값만을 돌려주는데 비해서, Scan 함수는 계산 단계별 값을 반환해 주는 것이 다른 점이고 구문은 같습니다. 가. Reduce 함수Reduce 함수의 구문은=REDUCE([initial_value], array, lambda(accumulator, value, body))로서 종전에는 구문이 lambda까지만 표시됐었는데 lambda의 인수까지 표시하는 것으로 바뀌었습니다.그런데 더 헷갈리네요. 아래는 Reduce 함수의 예제로서 Reduce함수의 초기값이 비..

Excel 2024.09.10

여러가지 조건을 만족하는 개수 세기(4) - 구글 스프레드시트의 ByRow 함수

1. 엑셀과 구글 스프레드시트의 비교 엑셀은 Microsoft 365에서만 ByRow 함수가 지원되는데,구글 스프레드시트는 인터넷에서만 실행되지만 ByRow와 ByCol 함수를 모두 지원합니다. 아래와 같이 =by까지 입력하면 그 아래 BYCOL과  BYROW가 표시되고, 간단한 함수에 대한 설명, 여기서는 "행 별로 범위를 그룹화합니다."라고 표시됩니다. 또한 탭키를 눌러 BYROW를 선택하면인수가 표시되는데, 배열_또는_범위가 활성화되고, 람다가 두 번째 인수로 표시됩니다.  이에 비해 Excel에서는 인수로 array가 활성화되고, 두 번째 인수가 function이라고 표시됩니다. function이라고 표시되지만 Lambda인 것은 동일합니다. 2. 구글 스프레드시트에서 ByRow 함수 적용 위 파..

여러가지 조건을 만족하는 개수 세기(3) - ByRow

5. 해법 4ByRow 함수를 이용해 행 별로 곱해서 0보다 큰 경우의 수를 세서 값을 구할 수 있습니다.ByRow 함수는 Microsoft 함수에서만 사용 가능한 함수로서구문은 =BYROW(array, lambda(row))입니다.배열을 입력한 다음 lambda의 row 인수로 전달한 다음 수식을 통해 값을 구하는 것입니다. 가. 한 가지 조건을 만족하는 경우=BYROW(B2:B33,LAMBDA(row,IF(row>0,1,0)))라고  입력하면 행 별로 셀 값이 반환됩니다.  수식의 의미는B2셀에서 B33셀까지 범위를 입력한 다음Lambda함수의 첫 번째 인수로 대입하고,수식(calculation)으로, IF(row>0,1,0)를 입력한 것입니다.따라서 행의 값이 배열로 반환됩니다.  이제 필요한 것이..

Excel 2024.08.09

목표 달성 소요일수 구하기 (1) - Scan 함수

1. 문제  위와 같이 C열에 매장별 입고량이 있고, D열에는 판매량이 있으며, 판매량 목표는 입고량의 80%입니다.이에 따른 달성 여부가 G열에 있는데,목표가 언제 달성되었는지, 다시 말해 H열부터의 일자별 판매량 누계가 목표량을 넘어가는 일수 또는 날짜를 구하려고 하는 것입니다. 2. 해법 1 - Scan 함수 이용 가. 누계 판매량 구하기 MIcrosoft 365 버전이라면 Scan 함수를 이용할 수 있습니다.Scan 함수의 사용법에 대해서는 아래 글을 참고 바랍니다. https://lsw3210.tistory.com/484 선입선출법에 따른 재고월 구하기1. 문제아래와 같이 월별 매입수량과 매출수량이 있을 때 선입선출법에 따라 남는 매입월(재고월)이 어떻게 되는지 구해보려고 합니다.예를 들어 A품..

Excel 2024.07.11

문자열 중 원문자 지우기(4) - Scan, Reduce

이번에는 Reduce와 Scan 함수를 이용해 원문자를 제거해 보겠습니다.   1. Reduce 함수를 이용한 수식가. Reduce 함수의 구문=REDUCE([initial_value], array, lambda(accumulator, value))initial_value는 초기값, array는 배열, accumulator는 initial_value와 array를 받는 것이고,value는 accumulator를 이용해서 값을 구하는 수식입니다. 나. 원문자가 아니라면 한 글자씩  결합A2셀을 대상으로 A22셀에서 수식을 작성하겠습니다. 먼저 초기값은 문자열을 결합할 것이므로 ""으로 해야 합니다. 비워두면 0으로 생각해서 이상한 값이 나옵니다. array는 배열인데, 글자를 한 글자씩 구분하기 위해 1부..

Excel 2024.05.14

세로 데이터를 가로 데이터로 변경하기

1. 문제왼쪽의 세로로 된 데이터를 오른쪽과 같이 가로로 배치하려고 합니다. 2. 해법Microsoft 365 기준으로 설명하려고 합니다. 가. 이름 추출하기(Unique 함수)중복된 이름을 하나씩만 추출하려면 Unique 함수를 사용하면 됩니다. 수식은 =unique(a1:a11)입니다. 365 버전은 E8에서 E12셀에서 보는 바와 같이 동적 배열형태로 값이 반환되고, 파란색 실선으로 테두리가 그려집니다. 나. 과목, 성적을 가로로 배치하기머리글 부분은 따로 설명하고, 먼저 과목명과 성적 부분만 먼저 2개씩 가로로 배치해 보겠습니다. (1) Filter 함수 적용 =FILTER(B2:C11,A2:A11=E9)라고 하면 E9셀의 이름에 맞는 B2에서 C11의 데이터가 아래와 같이 세로로 표시됩니다. (..

Excel 2024.03.15

근무표 유형 변경하기(365 버전용)

1. 문제 아래와 같이 직원별, 일자별 근무 현황이 있는데, 근무 유형별, 일자별로 누가 근무했는지와 시간외근무를 오른쪽 '시간외근무 유형'에 따라 괄호 안에 시간수를 입력해서 표시하려고 하는 것에서 앞의 문제는 간단하니 넘어가고 뒷부분의 문제만 365 버전용 함수를 이용해 풀어보겠습니다. 2. 해결 방안 1 Scan 함수와 IFs 함수 등을 이용해 줄 별로 결과를 추출하는 수식을 만들어 봤습니다. ​ O2셀 : =TEXTJOIN(",",,SCAN("",OFFSET($B$3:$B$8,,ROWS(C$3:$C3)-1),LAMBDA(a,b,IF(LEFT(b,3)="시간외",OFFSET($A$3,ROW(b)-3,0),"")&IFS(b="시간외1","(1)",b="시간외2","(2)",b="시간외3","(2)",..

Excel 2024.03.11

월말 데이터 값만 더해서 평균을 구하는 법

1. 문제 아래와 같이 일별 데이터가 있는데, 1월은 말일까지 있지만 4월의 경우는 2023/4/30일이 일요일이라 근무일인 4/28까지의 데이터만 있는 특이점이 있습니다. 따라서, 단순히 EOMonth로 말일을 구할 수 없는 한계가 있으며, 5월은 2일까지뿐이 없어서 월말이라고 볼 수가 없습니다. 이와 같은 경우 해결책에 대해 알아보겠습니다. 2. Scan 함수의 구문 Microsoft 공식 홈페이지의 도움말을 보면 =SCAN ([initial_value], array, lambda(accumulator, value)) 라고 되어 있는데, lambda의 인수로 세 번째에 Calculation이 있어야 하는데 누락된 것 같습니다. ​ 맞는 구문은 =SCAN ([initial_value], array, l..

Excel 2024.02.26

선입선출 재고금액 구하기(Let, Scan 함수 등 활용)

1. 문제 아래와 같이 전기 재고가 있고, 입고와 출고가 되었을 때 먼저 들어온 것이 먼저 나가도록 한 후 재고를 구하는 것이 선입선출법(FIFO : First In First Out)입니다. 입고 순서는 아래와 같습니다. 예를 들어 A품목의 경우 전기 재고가 20개 있고, 출고가 140개 되었으므로 입고 물량을 120개 차감해야 하는데, 선입선출이므로 1월 물량부터 순서대로 차감합니다. 1월 물량이 20, 2월 물량이 30, 3월 물량이 30, 4월 물량 30을 더하면 110이 되므로 5월 물량 20개 중 10개가 남고, 6월 물량 10개는 모두 남아서 재고 금액은 5월 10개 * 53 + 6월 10개 * 54 = 1,070이 됩니다. 이와 반대되는 것으로 나중에 들어온 것부터 차감하는 것을 후입선출법..

Excel 2024.02.15
반응형