반응형

전체 글 568

ChatGPT를 이용해서 VBA 코드 짜기(2)

1편은 여기를 클릭하면 됩니다. (3) 텍스트 파일에 특정 단어를 연결해서 표시하는 VBA 코드 검색 "텍스트 파일에 특정 단어를 연결해서 표시하는 VBA 코드"라고 했더니 아래와 같이 결과가 나왔는데, 줄별로 연결하는 부분이 빠져 있습니다. 이 때는 당신이라고 표시된 아래의 대화 내용에 커서를 갖다 대면 없던 연필이 표시되므로 연필을 클릭합니다. 그리고, 아래와 같이 " 텍스트 파일에 특정 단어를 줄별로 연결하는 VBA 코드"라고 수정한 후 '저장 및 제출' 버튼을 누릅니다. 그러면 줄별로 단어를 연결하는 코드만 보여줘야 하는데, 어제 학습을 해서 그런건지, 아니면 이전 질문과 연결해서 답을 만든 것인지 폴더를 선택할 수 있는 창을 여는 코드와 특정 단어를 연결하는 코드가 함께 결과로 나옵니다. Cop..

EXCEL - VBA 2024.03.21

ChatGPT를 이용해서 VBA 코드 짜기(1)

1. 문제 텍스트 파일이 여러 개 있는데, 기존 내용에 텍스트 파일명에서 네 번째부터 10번째까지의 텍스트를 왼쪽에 추가한 후 모든 텍스트 파일을 연결해서 하나의 파일로 만들려고 합니다. 텍스트 파일은 2개만 해보겠습니다. 2. 해결 순서 ① 적용 순서는 폴더를 선택하고, ② 폴더 내 텍스트 파일을 열어서 파일명의 네 번째부터 10번째까지의 텍스트를 발췌한 후 줄 별로 왼쪽에 추가합니다. ③ 텍스트 파일을 붙여서 하나의 파일로 만듭니다. 3. ChatGPT 로그인 또는 가입하기 ChatGTP 사이트( https://chat.openai.com/ )를 연 후 로그인을 합니다. 만약 가입이 안되어 있다면 가입하기 버튼을 누르고, 계정 만들기 창에서 여러 가지 방법 중 원하는 것을 선택합니다. 아래 Googl..

EXCEL - VBA 2024.03.20

(구글 스프레드시트) 조건부 서식 - 맞춤 수식

1. 문제 셀 내 텍스트에 따라 F열에 색을 칠하려고 합니다. https://docs.google.com/spreadsheets/d/1euzjv_hlLt2OAK5CQ5RXywQ7EN3C9cRTTrXmVdpjP0s/edit?usp=sharing 2. 해법 (1) 서식 아래에 엑셀과 같은 조건부 서식 메뉴가 있습니다. (2) 조건부 서식 메뉴를 누르면 오른쪽에 '조건부 서식 규칙' 창이 표시되는데, 단색과 색상 스케일 탭이 있고, 그 아래 범위 선택, 형식 규칙, 서식 지정 스타일이 있습니다. (3) 범위 선택 단일 셀만 선택됐을 때 열 전체를 선택하려면 F라고 쓰여 있는 열 이름 부분을 누르면 됩니다. 그러면 F:F가 표시되는데 확인 버튼을 누릅니다. 그런데 나중에 보니 F열 전체가 F1:F911입니다. ..

문자열로 된 수식의 값 계산하기

1. 문제 아래와 같이 산출식이 *, +, 괄호 등으로 연결되어 표시되어 있을 경우 산출식의 결과 값을 F열, G열과 H열에 모두 표시하려고 하면 어떻게 해야 할까요? 2. Evaluate 함수 가. Evaluate Evaluate 함수는 원래 VBA에 있는 함수인데 이름 관리자를 이용해서 사용할 수 있습니다. Lambda와 비슷합니다. Evaluate는 수식을 계산해서 결괏값을 돌려주는 역할을 합니다. 개발 도구 탭에서 Visual Basic 명령을 눌러 VB 에디터로 들어간 후 직접 실행창에 ?evaluate("2*3")이라고 입력하고 엔터 키를 누르면 2*3의 결괏값인 6이 반환됩니다. 나. 이름 정의 F5셀을 선택한 다음 수식 탭의 정의된 이름 그룹에서 이름 정의를 클릭하거나, 이름 관리자를 열고..

Excel 2024.03.18

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

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
반응형