반응형

배열 수식 11

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

1. 문제 아래와 같이 직원별, 일자별 근무 현황이 있는데, 근무 유형별, 일자별로 누가 근무했는지와 시간외근무를 오른쪽 '시간외근무 유형'에 따라 괄호 안에 시간수를 입력해서 표시하려고 합니다. 원 데이터는 다른 시트에 있는건데 이해와 설명의 편의를 위해 한 개 시트에 모았습니다. 2. 해결 방안 365 버전용 함수를 이용하는 방법과 이전 버전용 함수를 이용하는 두 가지 방법에 대해 알아보겠습니다. 가. 365 이전 버전 (1) d1, d2, n1, n2 유형에 따라 일자별 근무자 및 괄호안에 숫자 표시 일자와 유형 2가지 조건을 만족해야 하므로 두가지 조건을 * 연산자로 연결하면 =($B$3:$H$8=K$2)*($B$2:$H$2=$J3)이 되는데, #분산!라고 표시되고, 6*7의 크기로 테두리가 쳐집..

Excel 2024.03.08

떨어진 값을 곱한 후 합계 구하기

1. 문제 D열의 값과 O열의 월에 해당하는 값, 다시 말해 2024/01은 E열, 2024/02는 F열의 값을 곱한 다음 그 합을 구해서 P열에 입력하는 것입니다. P5열에 예시로 든 수식은 =(D5*E5)+(D6*E6)+(D7*E7)+(D8*E8)+(D9*E9)로 전형적인 SumProduct 함수의 사용 예입니다. 2. SumProduct 함수 SumProduct 함수의 구문은 =SUMPRODUCT(array1, [array2], [array3],...)으로 곱할 값들의 범위 또는 배열을 1개 이상 입력하는 것입니다. 위와 같은 경우 array1은 D5:D9가 되고, array2는 E5:E9가 됩니다. P4셀에 =SUMPRODUCT(D5:D9,E5:E9)라고 입력하면 =(D5*E5)+(D6*E6)+(..

Excel 2024.02.08

일정한 조건에 해당하는 합계 구하기

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

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

동적 배열 수식과 유출된(Spilled) 범위 연산자 #

1. 의미 가. 동적 배열 수식 전통적인 배열 수식의 경우는 Ctrl+Shift+Enter키로 배열 함수를 입력했지만, Microsoft 365 버전에서는 Ctrl+Shift+Enter키를 사용하지 않고 엔터 키 입력만으로, 인접 범위에 값을 반환할 수 있는데 이들 함수를 동적 배열 수식(Dynamic Array Formulas)라고 합니다. 또한 인접 범위에 넘치게 값이 반환된다고 해서 유출된 배열 수식(Spilled Array Formulas [Functions])라고도 합니다. 수식은 A1셀에만 있지만, 값은 D3셀까지 채워집니다. 나. 유출된 범위 연산자 위와 같이 수식은 한 셀에만 있지만 여러 셀에 걸쳐 값이 반환되는 경우 # 연산자를 이용해 유출된(Spilled) 범위를 반환받을 수 있습니다...

Excel 2023.08.17

히스토그램과 Frequency 함수(2)

1편에서는 도수분포표를 데이터 분석 도구 명령을 이용해서 구했는데, https://lsw3210.tistory.com/entry/%ED%9E%88%EC%8A%A4%ED%86%A0%EA%B7%B8%EB%9E%A8%EA%B3%BC-Frequency-%ED%95%A8%EC%88%981 함수를 이용해 구간별 빈도수를 구하는 것이 Frequency 함수입니다. 1. 구문 FREQUENCY(data_array, bins_array) data_array : 필수 요소입니다. 빈도를 계산할 값 집합의 참조 또는 배열입니다. bins_array : 필수 요소입니다. data_array에서 값을 분류할 간격의 참조 또는 배열입니다. 1편에서 data_array는 입력 범위, bins_array는 계급 구간이라고 명명했습니..

Excel 2023.06.01

SumProduct 함수 - 곱한 것의 합을 반환

1. 정의 product는 '곱하기'란 의미이고, sum이므로 곱한 것의 합계가 됩니다. 그러나, 곱하기뿐만 아니라 더하기, 빼기, 나누기한 후 합계를 구할 수도 있습니다. 2. 구문 =SUMPRODUCT(array1, [array2], [array3], ...) - array1만 필수이고, array2부터는 선택입니다. - array1에 배열 수식처럼 조건 여러 개를 *나 +로 연결해서 입력할 수 있습니다. - Sum+If 배열수식, Sum 또는 SumIfs 함수로 같은 결과를 얻을 수 있는 경우도 있고, 피벗 테이블이 더 효율적일 때도 있습니다. 3. 예제 가. 수량 * 단가로 총매출 구하기 SumProduct 함수의 전형적인 예입니다. 위 표와 같은 경우 수량 * 단가의 합을 구하려면 일반적으로는 ..

Excel 2023.04.20

일정한 간격으로 된 값 합계 구하기 - 매크로

사용자 정의 함수로 작성하는 것이 바람직하지만 굳이 만든다고 하면 매크로, Sub 프로시저로도 만들 수 있습니다. 사용자 정의 함수와 매크로는 모두 VBA를 이용하지만 아래와 같이 다른 점이 있습니다. 사용자 정의 함수 매크로 사용자 정의 함수를 실행하면 VBA에서 실행한 후 값을 반환합니다. 매크로를 실행하면 VBA에서 실행한 후 워크시트 함수를 이용한 수식을 반환합니다. =sum_interval(D4:N4,4) =SUM(IF(MOD(COLUMN($D$3:$O$3),2)=0,$D$3:$O$3)) 함수의 인수를 사용자 정의 함수에 입력함 함수의 인수를 매크로 실행시 입력 받음 1. 논리 범위와 간격을 입력받는 창을 실행하고, 입력 받은 값을 기준으로 배열 수식을 만들어 반환한다. Sub make_form..

EXCEL - VBA 2023.03.21

일정한 간격으로 된 값 합계 구하기 - 배열 수식

아래와 같이 일정한 간격으로 떨어진 값을 구하는 것을 배열 수식과 VBA 사용자 정의함수를 이용해 구해 보겠습니다. 1. 배열 수식 https://support.microsoft.com/ko-kr/office/%EB%B0%B0%EC%97%B4-%EC%88%98%EC%8B%9D-%EC%A7%80%EC%B9%A8-%EB%B0%8F-%EC%98%88%EC%A0%9C-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 위 사이트에 "배열 수식은 배열의 하나 이상의 항목에 대해 여러 계산을 수행할 수 있는 수식입니다. 배열을 값의 행 또는 열 또는 행과 값 열의 조합(an array as a row or column of values, or a combination of rows and column..

Excel 2023.03.17
반응형