반응형

iF 38

Lambda 함수 매개변수 2개 이상인 경우(2)

아래와 같이 문자열에서 제외 문자를 제거한 문자열을 구해보겠습니다. 1. 논리 제외문자를 하나씩 돌아가면서 문자열에 해당하는 제외 문자가 있다면 공백으로 바꾸면 됩니다. 어디서 가져온 것인데, 머리가 좋네요. 왼쪽부터 한 글자씩 비교하고, 문자열의 길이보다 하나 작은 길이만큼 오른쪽에서 계속 가져오면 마지막까지 비교하게 됩니다. 2. 수식 =LAMBDA(textString,excludeChars, IF(excludeChars="", textString, RemoveChars( SUBSTITUTE(textString, LEFT(excludeChars, 1),""), RIGHT(excludeChars, LEN(excludeChars)-1) ) ) ) 수식 > 이름 관리자에서 새로 만들기 버튼을 누른 후 이름..

Excel 2023.01.19

Lambda 함수 매개변수 2개 이상인 경우(1)

=LAMBDA([parameter1, parameter2, ...,] 계산식) Lambda함수의 구문이 Parameter를 여러 개 전달하고, 이를 이용해 계산식에 적용한 후 결괏값을 반환하므로 2개 이상의 매개변수를 전달할 수 있습니다. Lambda함수는 Microsoft 365용 Excel, Microsoft 365용 Excel(Mac용), 웹용 Excel에서만 이용가능합니다. 따라서 이전 버전이란 함수 목록에 표시되지 않고, Lambda함수로 된 수식은 #NAME! 에러가 발생합니다. 1. 직각삼각형의 빗변의 길이 구하기 가. 수식을 이용한 경우 피타고라스의 정리에 따라 밑변과 높이의 제곱을 더한 후 제곱근을 구하면 됩니다. 제곱근을 구하는 함수는 SqRt(Square Root)이고, 제곱을 구하는..

Excel 2023.01.18

구구단 만들기(4) (엑셀 VBA 구구단 프로그램 확장)

[프로그램 구현] Option Explicit Sub 구구단() Dim i As Integer, j As Integer 'i는 구구단 앞 숫자, j는 구구단 뒷 숫자 Dim iRow As Integer, iCol As Integer, iLastCol '셀 주소 행, 열, 마지막 열 Dim iLastDan As Variant, iDisplayDan As Variant '구구단 최종 단수, 한 줄에 표시할 단수. 취소 버튼이 있기 때문에 Variant로 줘야 합니다. Application.ScreenUpdating = False '처리하는 동안 화면 갱신하지 않음 ' 문장 2개를 나란히 쓸 때는 콜론으로 연결 iRow = 3: iCol = 1 Do iLastDan = Application.InputBox("..

EXCEL - VBA 2022.12.13

구구단 만들기(3) (엑셀 VBA 프로그래밍 기초)

프로그램을 짜는 것은 논리(로직)만 만들어지면, 그다음은 그것을 해당 언어의 문법에 맞게 구성해 나가면 됩니다. ​ 구구단 어릴 적 많이 외웠던 것인데, 프로그램으로 만들어보면 기초 쌓는데 도움이 될 듯하여 골랐습니다. 만들 모양은 아래와 같습니다. 매크로 기록하기에서는 2단, 3단 등 단수 제목을 복잡해서 뺐는데, 프로그램을 짤 때는 그렇게 어렵지 않아 넣었습니다. [프로그램 로직] ​ ① A1에 '구 구 단'이라고 입력하고, A1에서 W1까지 범위를 '병합하고 가운데 정렬'한 후, 글자크기를 16, 굵게로 설정합니다. ​ ② A3에 '2 단'이라 입력하고, A3에서 E3까지 병합하고 가운데 정렬한 후, 글자를 굵게 합니다. ​ ③ 2단은 A4부터 E12까지 입력하는데, A열은 모두 2이고, B열은 *..

EXCEL - VBA 2022.12.12

데이터 유효성 검사와 컨트롤 서식(콤보 상자)

1. 콤보 상자 만들기 데이터 유효성 검사의 목록 기능을 개발 도구 - 컨트롤 그룹에서 삽입 명령을 누른 후 콤보 상자를 선택해서 만들 수도 있습니다. 콤보 상자를 누르면 상태 표시줄에 '드롭다운 컨트롤을 만들려면 문서에서 마우스를 누르고 끕니다'라고 표시되므로 마우스를 끌어서 적당한 크기로 만듭니다. 콤보 상자 안에 커서를 넣고 마우스 오른쪽 버튼을 누르면 맨 아래에 '컨트롤 서식' 메뉴가 보입니다. 간혹 가다 마우스 오른쪽 버튼을 눌러도 아래와 같이 복사, 이동 메뉴가 나오는 경우가 있는데 이 때는 취소 메뉴를 누른 후 다시 마우스 오른쪽 버튼을 눌러보기 바랍니다. 컨트롤 서식을 누르면 아래와 같이 입력 범위, 셀 연결, 목록 표시 줄 수를 입력하고, 3차원 음영을 선택할 수 있는 창이 표시됩니다. ..

Excel 2022.11.30

VBA 조건문(1) - If

프로그램을 제어하는 구문은 조건문과 반복문이 있으며, 조건문은 If문과 Select Case문이 있고, 반복문은 For문과 While문이 있습니다. 먼저 If문에 대해 알아보겠습니다. 1. 구문 위 구문에서 [ ] (대괄호) 안에 있는 문장은 옵션이므로 생략 가능합니다. 따라서, 가장 간단한 조건문은 If 조건 Then End If 가 됩니다. 아래와 같이 코드를 작성하려면 먼저 개발도구 - Visual Basic 명령을 누른 후 위 쪽 표준도구 모음에서 삽입 아이콘을 누른 후 모듈을 추가해야 합니다. Microsoft 도움말 사이트 If 조건문의 구문 설명에 Then이 대괄호 사이에 있어서 생략 가능하다는데, 지우면 Then 또는 GoTo가 필요하다고 하면서 에러가 나므로 꼭 있어야 합니다. 그리고 실..

EXCEL - VBA 2022.11.04

지번 형식 변환하기 1 (if, not, iserror, or, left, mid, find, substitute 등 함수 이용)

행정전산망의 지번 데이터는 엑셀로 변환시 문제점을 차단하기 위해서인지 본번과 부번을 연결할 때 ㅡ(대시)를 사용합니다. 예를 들어, 48-3처럼 하이픈이 아니라 48ㅡ3 식으로 대시로 되어 있습니다. 아래와 같은 데이터를 기준으로 설명합니다. 위 데이터는 두가지를 비교하기 위해 15번까지는 ㅡ, 16번부터는 -으로 지번을 연결했습니다. 1. 대시(ㅡ)를 하이픈(-) 으로 바꾸기 먼저 원시 데이터는 지우기 않기 위해 C2부터 C22까지 복사 후 E2에 붙여넣기를 합니다. 붙여 넣은 데이터를 보니 숫자만 이미 숫자 형식으로 표시되어, 오른쪽 정렬이 되었습니다. 홈 - 찾기 및 선택 - 바꾸기 메뉴를 누른 후, 찾을 내용에 대시 표시를 넣는데, 기호를 찾으려면 어려우므로 C2셀의 대시 부분을 끌어서 선택한 다..

Excel 2020.07.30

윗셀과 같은 값 지우기(2) - while 문

for문과 while문은 아래와 같은 차이점이 있는데, for 문 while문 for i=시작값 to 종료값 [step 간격] 실행문 next i= 시작값 while i=종료값) 실행문 i = i + 1 (또는 i = i - 1) Wend 시작값, 종료값과 간격을 한 줄에서 지정 시작값, 종료값, 증감식을 별도로 지정 ​ while문을 구체적으로 적용해 보겠습니다. ​ ​ 2. While 문 ​ 어제 작업한 아래 파일의 for문 아래에 while 문을 작성하겠습니다. ​ 가. 공통되는 부분 위로 이동 ​ 아래를 보면 dim 변수 선언문과 마지막 줄인 EndRow을 구하는 구문 2줄이 2개의 sub 모듈에 공통적으로 있습니다. ​ 따라서, 맨 위 Option Explicit 아래로 옮기는데, 옮긴 다음 '..

EXCEL - VBA 2020.07.10
반응형