반응형

전체 글 568

마지막 반복 문자 이후의 문자열 추출하기 (2)

이번에는 Lambda 함수를 이용해 보겠습니다. 1. Lambda 함수 가. 구문 =LAMBDA([parameter1, parameter2, …,] calculation) 로서 인수들을 입력하고, 인수를 이용한 계산식을 끝에 입력합니다. 나. 사용 예 (1) 셀에 입력 셀에 =LAMBDA(x,y,x+y)(3,4)라고, 인수를 이용한 수식을 입력한 다음 인수에 들어갈 값을 괄호 안에 입력하는 방식입니다. 수식은 간단하게 x와 y를 더하는 것으로 3과 4를 대입하니 7이 반환됩니다. (2) 이름관리자에 입력 일시적인 것은 위와 같이 사용할 수 있지만, 계속적으로 사용하는 것이라면 이름관리자에 넣고 사용하는 것이 좋습니다. 다만 한계는 이름관리자로 입력된 파일에만 적용되므로 다른 파일에도 적용하려면 다른 이름..

Excel 2024.01.16

마지막 반복 문자 이후의 문자열 추출하기 (1)

1. 문제 아래와 같은 폴더명에서 파일명만을 분리해내려고 합니다. 구분자는 ₩입니다. 2. 해결방안 (1) 해결 방안 1 : Find 함수 반복 사용 Find 함수의 구문은 FIND(find_text, within_text, [start_num])로서 찾을 문자열, 범위, [시작 위치]인데, 시작 위치를 다시 Find함수를 이용해서 지정할 수 있습니다. A2셀의 경우 ₩가 다섯 번 반복되므로 ₩ 찾는 것을 다섯 번만 해야 29란 숫자가 나오지, 여섯 번 하면 #VALUE! 에러가 발생합니다. 따라서, ₩의 개수만큼 find 함수를 사용해야 하는데 그렇게 수식을 작성할 수 있는 방법이 없습니다. IfError 함수를 사용하려고 해도 이 긴 수식을 개수에 맞게 넣어야 하는데 그건 가독성이 떨어지고 일이 더 ..

Excel 2024.01.15

MakeArray 함수로 구구단 만들기

1. MakeArray 함수 가. 구문 =MAKEARRAY(rows, cols, lambda(행, 열)) 지정된 행과 열의 크기로 Lambda함수를 이용해 행과 열 값이 입력된 계산 값을 반환합니다. 나. 예시 o 행과 열을 곱한 값 반환하기 =MAKEARRAY(3,3,LAMBDA(row,col,row*col)) 3*3의 배열을 만드는데 행이 고정된 상태에서 열의 크기가 변합니다. For~Next 반복문과 매우 유사합니다. o For ~ Next 반복문과 비교 위와 같은 결과를 아래와 같이 매크로를 만들어서 얻을 수 있습니다. Sub maparr() Dim row As Integer, col As Integer For row = 1 To 3 For col = 1 To 3 Cells(row + 4, col..

Excel 2024.01.14

진행 상태 표시 - 완료, 지연, 진행필요, 미완료(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

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

프로젝트별로 계획 대비 수행 실적을 비교해서 완료, 지연, 진행 필요, 미완료를 표시하려고 합니다. 날짜에 따라 진행 상태를 확인해야 하므로 B4셀에 기준일이 있습니다. 1. 경우의 수프로그램이든 엑셀이든 맞는 값을 찾으려면 모든 경우의 수를 찾는 것이 중요합니다. 위 경우에 먼저 1월과 2월 이후로 나눠야 합니다. 따라서, 1월인 경우 계획 대비 수행을 모두 완료했다면 '완료'이고, 계획 대비 수행을 완료하지 않았다면 '진행필요'가 됩니다. 그리고, 2월 이후는 기준 월에 계획이 있는지 여부에 따라 있다면 ① 기준월까지의 계획 대비 수행이 모두 됐다면 '완료'이고, ② 전월까지 계획 대비 수행이 모두 됐다면 '미완료'이고, ③ 전월까지 계획 대비 수행이 모두 완료되지 않았다면 '지연'이 됩니다. 없다면..

Excel 2024.01.06

UDF에서 자기 셀 참조 시

일반적으로 UDF(User Defined Function, 사용자 정의 함수)는 다른 셀 주소를 참조해서 계산을 하며, 아래는 제곱값을 구하는 함수의 코드입니다. Function square(rngA As Range) square = rngA.Value * rngA.Value End Function 그러나, 자기 자신의 셀을 참조해야 할 수도 있습니다. 이때 사용하는 것이 Application.Caller 속성(Property)입니다. Application.Caller 대충 감을 잡으면 응용 프로그램이 호출하는 곳 또는 어디서 호출되었는지 정도가 될 것입니다. 따라서, 자기 자신 셀을 가리킵니다. 위의 경우에 항상 왼쪽 두 번째 셀의 값을 참고한다고 하면 범위를 이용하지 않고 아래와 같이 Applicat..

EXCEL - VBA 2024.01.05

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

아래와 같이 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. 새 메모와 새 노트 엑셀이 버전 업되면서 '새 메모'와 '새 노트'로 분리되었습니다. '새 메모'는 채팅 기능이고, '새 노트'가 과거의 메모 기능입니다. 이때 새 노트를 누르면 이름과 :(콜론) 표시가 나오고 그 아래 메모를 입력합니다. 2. 사용자 명 삭제 및 편집 파일 - 옵션 - 일반 탭에서 중간에 내려가면 사용자명이 보입니다. 사용자 명을 수정하려면 내용을 수정하면 되는데, 사용자 명을 삭제하려면 내용을 지우고 확인 버튼을 누른 다음 옵션에서 확인해 보면 이름이 그대로 있으므로 스페이스 바를 한 번 밀어서 공백을 삽입해야 합니다. 그리고, 다른 셀에서 새 노트를 누르면 사용자명은 없는데 :(콜론)은 여전히 표시되고 있는 문제점이 있습니다. 3. VBA로 사용자 정의 함수 만들기 일반적인 엑..

EXCEL - VBA 2024.01.02

스마트폰용 엑셀의 수식 편집을 쉽게하는 꿀 팁

아래와 같이 N2셀의 수식이 =IFERROR(INDEX(IF(($A$2:$A$9=$N$1)*($C$2:$C$9=$O$1)+($A$2:$A$9=$O$1)*($C$2:$C$9=$N$1),IF($A$2:$A$9=$N$1,$B$2:$B$9,$D$2:$D$9)),SMALL(IF(($A$2:$A$9=$N$1)*($C$2:$C$9=$O$1)+($A$2:$A$9=$O$1)*($C$2:$C$9=$N$1),ROW($A$2:$A$9)-1),ROW()-1)),"") 와 같이 길 때 스마트폰의 수식 입력줄에서 편집하려면 커서 옮기는 것도 어렵고, 원하는 곳에 커서 넣기도 어려운데, 오늘 더블 클릭했더니 갑자기 커서가 원하는 곳에 들어가는 것을 발견하고 몇 가지 팁을 나누고자 합니다. 1. 일반적인 수식 편집 그동안에는 fx 라..

Android App 2024.01.01

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