반응형

lambda 12

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

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

여러 개중 원하는 위치의 문자 찾기

1. 문제아래와 같은 문자열을 보면 ₩가 여러 번 나오는데, 첫 번째 ₩부터 두 번째 ₩전까지의 문자, 두 번째부터 세 번째 전까지의 문자를 추출해 보겠습니다. 2. 마지막 기호 다음의 문자열을 추출하는 Lambda 식 마지막 반복 문자 이후의 문자열 추출하기 (2)에서 했던 방법을 유사하게 적용하면 됩니다. 아래는 마지막으로 나오는 ₩다음의 문자열을 추출하기 위한 Lambda 식으로 재귀 호출을 사용해서 last_word를 반복 실행하면서 ₩가 나올 때마다 그다음의 문자열을 잘라내서 last_word 함수에 대입한 다음 마지막으로 남는 문자열을 반환하는 것입니다.=lambda(textString, findChars, if(iserror(find(findChars, textString)),textStri..

Excel 2024.01.17

마지막 반복 문자 이후의 문자열 추출하기 (2)

이번에는 Lambda 함수를 이용해 보겠습니다. 1. Lambda 함수 가. 구문 =LAMBDA([parameter1, parameter2, …,] calculation) 로서 인수들을 입력하고, 인수를 이용한 계산식을 끝에 입력합니다. 나. 사용 예 (1) 셀에 입력 셀에 =LAMBDA(x,y,x+y)(3,4)라고, 인수를 이용한 수식을 입력한 다음 인수에 들어갈 값을 괄호 안에 입력하는 방식입니다. 수식은 간단하게 x와 y를 더하는 것으로 3과 4를 대입하니 7이 반환됩니다. (2) 이름관리자에 입력 일시적인 것은 위와 같이 사용할 수 있지만, 계속적으로 사용하는 것이라면 이름관리자에 넣고 사용하는 것이 좋습니다. 다만 한계는 이름관리자로 입력된 파일에만 적용되므로 다른 파일에도 적용하려면 다른 이름..

Excel 2024.01.16

여러 시트에서 원하는 값 구해서 합하기(2)

이번에는 Lambda 함수를 이용해 사용자 지정 함수를 만들어 수식을 간단하게 만들어 보겠습니다. 1. Lambda 함수 가. 구문 Lambda함수의 구문은 =LAMBDA([parameter1, parameter2, …,] calculation) 로서 인수들을 입력받고, 이를 이용한 결괏값을 돌려주는 함수입니다. 나. 사용법 (1) 수식 입력줄에서 사용하는 방법 수식 입력줄에서 Lambda함수 안에 변수(들)를 쓰고, 변수에 해당하는 값은 끝 부분의 괄호 안에 입력합니다. 아래는 제곱값을 구하는 Lambda 식인데, x값으로 2를 대입해서 2의 제곱값이 4가 반환됩니다. =LAMBDA(x,x^2)(2) (2) 이름관리자를 이용한 방법 (가) 이름 정의 이름관리자를 이용해 이름과 Lambda 함수를 이용해..

Excel 2023.12.27

Lambda 함수를 이용한 일정 간격의 값 합계 구하기

1. Lambda 함수 가. 정의 매개변수들을 나열하고, 그 매개변수들을 이용한 수식을 입력한 다음, 매개변수의 값을 입력받아 수식의 결괏값을 반환합니다. Let함수의 경우는 변수와 값의 쌍으로 이뤄지는데, Lambda함수는 매개변수와 매개변수를 이용한 수식만을 정의하고 값은 따로 입력받는 것이 다른 점입니다. Microsoft 365용 Excel Mac용 Microsoft 365용 Excel 웹용 Excel 나. 구문 =LAMBDA([parameter1, parameter2, ...,] 계산식) - parameter(매개변수)는 변수명뿐만 아니라 셀 참조도 될 수 있습니다. 다. 장점과 단점 - 이름 관리자를 이용해 L ambda함수식에 이름을 할당하면 엑셀 함수처럼 사용할 수 있습니다. - Let함수..

Excel 2023.03.23

Lambda 함수의 매개변수를 옵션으로 지정 및 설명 입력 방법

Lambda함수에서 매개변수는 옵션이므로 대괄호 사이에 매개변수를 입력하고, isOmitted함수와 같이 사용해서 입력하지 않은 경우와 입력한 경우 처리 방법을 정의하면 됩니다. 1. Lambda 함수의 매개 변수를 옵션으로 지정하는 방법 가 사용 예 1 A와 B의 값을 더하는데, B를 입력하지 않으면 7을 더하고, 입력하면 A+B를 반환하도록 하려면 =Lambda(a, [b], if(isOmitted(b), a+7, a+ b) 라고, a는 필수 입력 요소이고, b는 대괄호 사이에 있기 때문에 선택적 입력 값이 됩니다. 그리고, If함수를 이용해서 isOmitted, 다시 말해 b입력이 생략됐다면, 입력이 안 됐다면 그다음 a+7을 반환하고, b가 입력되면 a+b를 반환하는 것입니다. 따라서, =Lamb..

Excel 2023.01.20

Lambda 함수 매개변수 2개 이상인 경우(2)

아래와 같이 문자열에서 제외 문자를 제거한 문자열을 구해보겠습니다. 1. 논리 제외문자를 하나씩 돌아가면서 문자열에 해당하는 제외 문자가 있다면 공백으로 바꾸면 됩니다. 어디서 가져온 것인데, 머리가 좋네요. 왼쪽부터 한 글자씩 비교하고, 문자열의 길이보다 하나 작은 길이만큼 오른쪽에서 계속 가져오면 마지막까지 비교하게 됩니다. 2. 수식 =LAMBDA(textString,excludeChars, IF(excludeChars="", textString, RemoveChars( SUBSTITUTE(textString, LEFT(excludeChars, 1),""), RIGHT(excludeChars, LEN(excludeChars)-1) ) ) ) 수식 > 이름 관리자에서 새로 만들기 버튼을 누른 후 이름..

Excel 2023.01.19
반응형