반응형

sum 22

여러가지 중 한 가지 조건 일치 검색시 or 대신 배열 사용

1. 문제 아래와 같이 이름과 값이 자료가 있을 때, 이름에 해당하는 값의 합계를 구하려고 합니다. 2. 해법 1 위와 같은 표에서 이름이 홍길동이거나 장발산에 해당하는 값의 합계를 구하려면 =SUMPRODUCT(($A$3:$A$7=D3)+($A$3:$A$7=D4),$B$3:$B$7) 라고 입력해서 합계를 구합니다. 위 수식을 보면 ($A$3:$A$7=D3)+($A$3:$A$7=D4)라고 ($A$3:$A$7=D3)과 ($A$3:$A$7=D4)가 +로 연결되어 있는데, 이것은 두 가지 조건 중 하나만 일치해도 된다는 Or 조건입니다. 다시 말해 위 수식은 이름이 홍길동이거나, 이무인 경우가 됩니다. 그리고, 값의 범위 $B$3:$B$7에서 조건에 맞는 값을 찾아 합계를 구하는 것입니다. 이때 쉼표(,)를 ..

Excel 2024.04.16

한글이 아닌 엑셀로 하는 메일 머지(3)

문제는 여기를 참고 바랍니다. 3. 해법 2 : 이름뿐만 아니라 나머지 내용까지 매크로로 처리하는 방법 가. 논리이번에는 셀 값을 Vlookup함수가 아니라 다른 시트의 셀 주소로 연결하는 방법과 같은 연번에서 이름이 반복될 경우 고지서에 한꺼번에 인쇄하는 매크로를 만들어 보겠습니다. (1) 셀 값을 다른 시트의 셀 주소로 연결하기 예를 들어 고지서 시트의 회사명(성명)인 D6셀에는 명단 시트의 E열의 값이 입력되어야 합니다. 이 때는 연결키가 없어도 됩니다.그리고, 토지 소재지인 시군, 읍면, 리동은 명단 시트의 G, H, i 열과 연결되면 됩니다. (2) 같은 연번에서 이름이 반복될 경우 인쇄하기 "같은 연번"이란 병합된 셀로서 처리 줄과 윗 줄의 A1셀이 동일한 경우이고, "이름이 반복된다"는 것은..

EXCEL - VBA 2024.03.29

한 셀에서 일정한 간격으로 떨어진 숫자 합계 구하기

1. 문제 아래와 같이 일정한 길이의 숫자가 한 칸 공백으로 연결되어 있을 때 합계를 구하는 것을 알아보겠습니다. Mid를 이용한 365 이전 버전과 TextSplit와 ByRow를 이용한 365 버전 2가지, 총 세 가지 방법에 대해 알아보겠습니다. 2. Mid 함수 가. Mid 함수의 구문 MID(text, start_num, num_chars)로서 문장(또는 문자열이 들어 있는 셀 주소)과 시작 위치, 가져올 문자의 개수 3개로 되어 있습니다. 나. 수식 작성 위 문제를 살펴보면 숫자는 7자리이고, 공백이 1개 있으므로 8개가 1묶음입니다. 따라서, Mid함수를 이용해 Mid(A2,1,7), 그다음은 Mid(A2,9,7)... 식으로 개별적으로 숫자를 발췌한 후 더할 수도 있으나 배열 수식을 이용해..

Excel 2024.03.07

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

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. 문제 A셀의 문자 길이가 4인 경우 B셀의 값을 합계하는 것입니다. 2. 해결 방안 다양한 해결방안이 있을 수 있습니다. ① A열의 코드를 살펴보니 A3세의 값이 5116인 경우 A4셀부터 5116으로 코드가 시작되므로 4개를 잘랐을 때 코드 값이 같은 것을 더할 수도 있고, ② 코드 길이가 7자리에서 4자리로 바뀔 때, 다시 말해 코드의 길이가 4인 것 전까지 더할 수도 있습니다. 그리고, 함수도 Sum과 If 배열 수식을 이용할 수도 있고, SumIf를 이용할 수도 있고, sumProduct, 그리고, Offset과 Match함수를 이용할 수도 있습니다. (1) Sum과 If 배열 수식을 이용하는 경우 =SUM(IF(LEFT($A$4:$A$24,4)=A3,$B$4:$B$24,0)) A열의 왼쪽 ..

Excel 2024.01.18

동일 열에서 날짜가 다른지 비교하기

아래와 같이 A열에 입력된 날짜 중 다른 날짜가 있을 때 "날짜 다름"이라고 표시하고 싶다면 어떻게 해야 할까요? 1. 배열 수식 이용하기 동일 열이다 보니 엇갈리게 값(날짜)을 비교해야 합니다. 다시 말해 A2셀과 A3셀과 A3셀과 A4셀을 비교하는 식입니다. 그러면 2023-11-01이 2023-10-01과 다른지, 2023-10-01과 2023-11-01이 다른지 비교하므로 모두 True가 됩니다. 수식으로는 =A2:A3=A3:A4 이 되는데, 셀 병합이 되어 있다 보니 이상한 결과가 나옵니다. 그래서 셀 병합을 푸니 False, False라고 나옵니다. 마이크로소프트 365 버전이라 수식을 C1셀에만 입력해도 C2셀까지 값이 표시되지 아니라면 C1셀과 C2셀을 선택하고, 수식 =A2:A3=A3:A..

Excel 2024.01.03

여러 시트에서 원하는 값 구해서 합하기(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

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

1. 문제 아래와 같이 1호기부터 5호기까지 일자별 작업 내용이 있고, 작업일자 중 마지막 날짜의 작업량 합계를 주, 야간을 구분해서 구하고자 하는 문제입니다. 2. 해결 방법 가. 호기별로 최종 작업 일자 구하기 LOT NO(K 열)이 있고, 작업량(P열)이 0보다 큰 것을 구하므로 배열 수식을 이용해야 합니다. 수식은 =INDEX(A:A,MAX(IF((K:K"")*(P:P>0),ROW(K:K)))) 인데, 배열 수식이므로 동적 배열 수식을 지원하는 경우는 CSE(Ctrl + Shift + Enter)키를 입력할 필요 없이 Enter키만 누르면 되며, 지원하지 않는 경우(레거시 배열 수식)는 수식을 작성한 후 CSE키를 눌러야 합니다. (수식의 이해) =INDEX(A:A,MAX(IF((K:K"")*(P..

Excel 2023.12.26

VBA에서 SumProduct 사용하기

1. SumProduct 함수 SumProduct 함수는 Product, 다시 말해 곱한 값을 더해서 반환해 주는 함수입니다. 가. Product와 Sum함수를 이용하는 경우 아래와 같이 숫자1과 숫자2를 곱한 다음 합계를 낸다고 할 때 Product와 Sum 함수만 알고 있다면 먼저 줄별로 Product, 예를 들어 =product(a2:b2)를 한 후 C7셀에서 Sum을 하면 됩니다. 나. SumProduct 함수를 사용하는 경우 (1) 구문 =SUMPRODUCT(array1, [array2], [array3], ...) 배열로 되어 있는데 범위라고 생각하면 간단합니다. (2) 사용 예 배열을 세로로 해서 A열을 배열1, B열을 배열2로 지정하면 됩니다. 따라서, 위와 같이 곱한 것의 합을 구하려면 ..

EXCEL - VBA 2023.11.30
반응형