반응형

iF 38

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

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

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

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

Excel 2024.01.17

진행 상태 표시 - 완료, 지연, 진행필요, 미완료(2)

1편에서 만든 수식을 경우에 알맞게 조합하면 됩니다. 그리고, if문을 여러 번 중복해서 사용해야 하며, if문을 중복해서 사용한다는 것은 if함수 안에서 다시 if를 사용하는 것입니다. 예를 들어 아래 화면에서 AA6셀의 수식은 =IF(AA5=1,"1임",IF(AA5>1,"1보다 큼"))로서 AA5셀의 값이 1이면 "1임"이라고 표시(반환)하고, (1이 아니고) 1보다 크면 "1보다 큼"이라고 표시(반환)하는 것입니다. 위의 경우 AA5셀의 값이 2이므로 "1보다 큼"이라고 AA6셀에 값이 표시됩니다. 이런 식으로 2번뿐만 아니라 여러 번 if함수를 중첩적으로 사용할 수 있습니다. 1. 1월인 경우 1월인 경우 참인 값(value_if_true)에 계획과 수행이면 "완료", 아니면 "진행필요"라고 표시..

Excel 2024.01.06

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

아래와 같이 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개에서 원하는 값 찾아서 세로로 쌓기

열 하나로 레코드가 정리되면 좋은데, 위와 같이 A열과 C열에 구분자가 있고, 값이 B열과 D열에 있을 때 원하는 구분값에 대한 값을 찾아서 G열에 표시하고자 합니다. 1. 문제점 ① A에 해당하는 값을 찾을 수는 있는데, 중간에 공백이 생김 ② C열과 D열을 A열 아래에 붙인 다음 값을 뽑아낼 수는 있는데, C열이 아래로 내려가서 원하는 결과와 순서가 달라짐 2. 해결 방안 1 ① A값이 있는 경우 오른쪽 값 가져오기 =IF(A2="A",B2,IF(C2="A",D2,"")) ② 왼쪽에 정렬을 위한 일련번호 기록하기 =IF(LEN(G2),MAX($F$1:F1)+1,"") 길이가 0보다 큰 경우 일련번호 최댓값에 1을 더한 값을 채웁니다. ③ 값으로 붙여 넣기 정렬하면 다시 G열의 값이 바뀌므로 F열과 G..

Excel 2023.12.28

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

While 문 - VB와 VBA의 차이점

VBA는 엑셀 등 오피스 앱을 위한 VB이지만(Visual Basic for Application), VB가 모두 적용되는 것은 아닙니다. 1. VB와 VBA의 While문 차이점가. VB의 While문구글에서 vba while로 검색을 하면 VB에 대한 도움말만 나오고, 들어가 보면 While 반복문의 구문은 아래와 같습니다.While condition [ statements ] [ Continue While ] [ statements ] [ Exit While ] [ statements ] End While Continue While 문도 있고, Exit While로 중간에 빠질 수 있습니다. condition은 조건이고, statements는 실행문입니다. Exit While 다음의 statemen..

EXCEL - VBA 2023.12.17

자료 형태가 다른 것 VLookup으로 검색하기

좌우 데이터가 좀 달라야 하는데 동일하게 만들었습니다. 다른 점은 형식이 왼쪽은 주계좌 및 서브계좌에 -이 있고, 오른쪽의 날짜가 날짜 형식이 아니라 문자로 되어 있어 변환이 필요한 상황입니다. 데이터 건수가 17951로 매우 큽니다. 1. 서브계좌 구하기 이와 같은 경우에 사용하는 함수가 VLookup입니다. 주계좌의 형식이 다르기 때문에 형식을 통일해야 하는데, 오른쪽 검색 범위는 바꿀 수 없으니 왼쪽 것을 Substitute 함수를 이용해 바꾸면 =substitute(a4,"-","")이 됩니다. 다시 말해 하이픈(-)을 공백으로 바꾸는 것입니다. 이제 Vlookup 함수와 결합하면 =vlookup(substitute(a4,"-",""),$a$4:$i$17951,2,0)이 됩니다. 그런데, 이상하게..

EXCEL - VBA 2023.11.20

윗 셀 값으로 채우기

한 셀에 들어 있는 행정구역명을 공백을 기준으로 2개 열로 나누는 것을 다뤘었는데, 이번에는 비어 있는 셀을 윗셀 값으로 채우는 것에 대해 알아보겠습니다. 위를 보면 왼쪽에 서울특별시가 있고, 산하 구명이 보이는데, 데이터 처리를 위해서는 구명왼쪽인 F열에 서울특별시가 채워져야 합니다. 1. 이동 옵션 - 빈 셀 이용하기 빈 셀만 찾아서 그 위의 셀로 채우기 위해서는 ① 빈 셀이 있는 F4셀부터 F열의 마지막 셀까지 선택해야 하므로 Shift + Ctrl 키를 누른 상태에서 End키를 누릅니다. 그러면 아래와 같이 293행까지 모두 선택됩니다. ② 홈 탭 - 찾기 및 선택 명령 아래 이동 옵션을 클릭합니다. 그러면 이동 옵션 창이 표시되는데, 빈 셀 왼쪽 옵션 버튼에 체크하고 확인 버튼을 누릅니다. ③ ..

Excel 2023.08.09

한 열의 데이터를 두 열로 분할

이전에 데이터 탭의 텍스트 나누기와 파워 쿼리의 열 분할에 대해 다뤄봤는데, 이번에는 다른 경우의 데이터 분할에 대해 알아보겠습니다. 통계청에서 조회한 행정구역(시군구)별 주민등록세대수 자료인데, 다운로드하여 보니 서울특별시와 종로구 등의 데이터가 열을 달리해야 데이터 다루기가 편한데 같은 열에 있습니다. 따라서, 이를 다른 열로 만드는 것에 대해 알아보겠습니다. 1. 구조 파악서울특별시는 첫째 자리부터 시작하고, 종로구는 위치를 =FIND("종",A4) 수식으로 알아보니 4부터 시작합니다. 2. 분리하는 방법 가. 실패1부터 시작하는 것과 4부터 시작하는 것을 두 개의 열에 나눠서 표시하면 됩니다. F4셀의 수식은 복사할 때 방해가 되므로 F열과 G열을 선택한 후 마우스 오른쪽 버튼을 누른 후 삽입 메..

Excel 2023.08.08
반응형