반응형

분류 전체보기 584

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

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

제품, 잔량별 생산일수 기준 불량 여부 판단

1. 문제 오른쪽 기준 표의 제품별, 잔량별 생산일수보다 왼쪽의 생산일수가 크다면 확인란에 "불량"이라고 표시하고, 아니면 공란으로 내버려 두려고 합니다. 2. 해법 여러 가지 함수로 해결할 수 있습니다. 가. Index + Match 함수 (1) 잔량을 0과 "있음"으로 구분하기 오른쪽 기준표를 보면 제품이 같더라도 잔량이 0인지 아닌지에 따라 생산일수가 다르다는 것을 알 수 있습니다. 그런데 왼쪽 표를 보면 잔량이 숫자로 표시되어 있으므로 두 개를 Match 하려면 왼쪽 표의 잔량 수치를 0과 "있음"으로 바꿔줘야 합니다. 따라서, if 함수를 이용해 0보다 크다면 "있음" , 0이면 0이라고 표시하면 되므로 수식은 =if(d3>0,"있음",0)이 됩니다. (2) 왼쪽 제품과 잔량에 해당하는 생산일수..

Excel 2024.03.14

수식에 한꺼번에 Round 씌우기

1. 문제아래와 같이 B열의 숫자를 C열의 숫자로 나누면 값에 따라 소수점이하 자릿수가 다르게 표시됩니다. 이와 같은 경우 일정하게 소수점이하 둘째 자리로 통일하고자 할 경우 사용할 수 있는 매크로에 대해 설명하려고 합니다. 2. 해법 찾기가. 표시 형식 지정반올림하는 것이라면 D열을 선택한 다음 셀 서식 - 표시형식에서 숫자 범주를 선택한 후 오른쪽의 소수 자릿수에서 0을 2로 수정하고 확인 버튼을 누르거나 엔터 키를 누르면 됩니다. 아래와 같이 소수점이하 자릿수가 2로 통일되면서 반올림됩니다. 4행의 경우 원래 값은 0.625인데, 반올림돼서 0.63으로 표시되고, 3행의 경우 원래 값은 0.714286인데, 반올림돼서 0.71로 표시됩니다. 그러나, 이럴 경우 문제점은 더하기 등을 할 경우 소수점 ..

EXCEL - VBA 2024.03.13

중복된 값은 제외하고 문자열 연결하기

1. 문제 B열부터 D열까지 고객, 쿠폰, 전화번호를 연결하는데 전화번호가 1개라면 한번씩만 연결하면 되는데, 6행에서 8행까지는 전화번호가 같으므로 한번 고객, 쿠폰과 전화번호를 연결한 다음부터는 쿠폰 번호만 연결하려고 하는 것입니다. 경우에 따라 결합을 달리해야 하기 때문에 문제가 되는 것입니다. 2. 해법 1 : TextJoin 함수 적용 엑셀 버전이 TestJoin 함수를 지원하지 않는다면(안된다면) 3번을 참고 바랍니다. ​ 규칙이 고객, 쿠폰 번호, 전화번호를 연결해서 표시하는 것인데, 전화번호가 같으면 고객과 전화번호는 제외하고 쿠폰 번호만 연결하는 것입니다. ​ 따라서, 전화번호의 개수를 계산한 후 1개면 고객부터 전화번호까지 모두 연결하면 되고, ​ 1개를 초과하면 고객부터 전화번호까지를..

Excel 2024.03.12

근무표 유형 변경하기(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

근무표 유형 변경하기(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. 문제 아래와 같이 일정한 길이의 숫자가 한 칸 공백으로 연결되어 있을 때 합계를 구하는 것을 알아보겠습니다. 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. 문제 왼쪽에 데이터가 있고, 오른쪽에 prc_name과 eq.no가 일치하는 날짜를 찾는 것입니다. 2. 여러 가지 해결방안 prc_name과 eq.no에 해당하는 값을 찾은 다음 offset 함수를 이용해 오른쪽으로 다섯 번째 날짜를 찾을 수도 있고, index 함수를 이용해 날짜 범위를 지정한 후 행과 열 수를 지정해서 원하는 값을 구할 수도 있습니다. 3. Offset 함수 이용 가. Offset 함수의 구문 OFFSET(reference, rows, cols, [height], [width])로 reference는 참조 셀 rows는 이동할 행 수로 +면 아래, -면 위로 이동하고, 0은 현재 위치를 가리킵니다. cols는 이동할 열 수로 +면 오른쪽, -면 왼쪽으로 이동하고, 0은 현재 위..

Excel 2024.03.06

거래처명에서 일치하는 고객명 찾기(2) - Scan 함수

나. 365 버전 (1) 사용되는 함수에 대한 설명 (가) Filter 함수 Filter함수는 필터 명령을 함수로 구현한 것입니다. 구문은 Filter( sourcearray , match [, include ] [, compare ] )인데, 첫 번째 인수는 필터 처리할 배열(범위)로서 머리글은 포함하지 않습니다., 두 번째 인수는 필터 조건으로 필드명=값 식으로 입력하는데, 참에 해당하는 조건식을 입력해도 됩니다. (나) Sort 함수 데이터 정렬명령을 함수로 구현한 것으로 구문은 =SORT(array,[sort_index],[sort_order],[by_col])으로서 첫 번째 인수는 정렬할 배열(범위)이고, 두 번째 인수는 정렬기준인 열, 세 번째 인수는 내림차순 또는 오름차순을 지정하는 것으로 ..

Excel 2024.03.05
반응형