반응형

분류 전체보기 579

두 문장의 같은 단어 비교(1) - 매크로 작성

위와 같이 A1셀과 A2셀의 문장 2개를 비교해서 같은 단어일 경우는 글자 색을 빨간색으로 표시하는 것을 해보겠습니다. 1. 논리 A1셀과 A2셀을 각각 빈칸을 기준으로 문장을 나눈 다음 배열에 넣고, 배열끼리 비교해서 배열이 같을 때, 여기서는 포함될 때를 기준으로 판단하려고 합니다. 다시 말해 '국민'은 '국민의'에 포함되므로 같은 것이 되고, '국민의'와 '국민을'은 포함관계가 아니기 때문에 다른 것이 됩니다. 어간을 기준으로 비교하면 되는데, 그것이 어려워서 조건으로 못 넣었습니다. 2. 매크로 작성 아래와 같이 Sub 프로시저와 Function 프로시저로 구성되어 있습니다. 가. Sub 프로시저 compare_sentence(문장 비교), font_red(일치하는 배열의 글자색을 빨간색으로 변함..

EXCEL - VBA 2023.05.08

참조 열은 1칸, 기록할 열은 2 칸씩 움직일 때

1. 문제 1 가. 데이터 및 원하는 표 양식 지점별, 연도별 판매량과 판매액이 있는데, 지점별 판매액만을 추출하고 싶을 때 몇 개가 안된다고 하면 복사해서 붙여넎기로도 가능하지만, 수식을 이용해 구하는 것이 맞는 방법입니다. 나. 해결 논리 중요한 것은 데이터는 2칸 씩 떨어져 있는데, 기록은 한 칸씩 떨어져서 해야 하므로 데이터의 열 변화를 2로 나눠서 기록할 열을 정하면 됩니다. 다. 수식 M3셀의 값은 C3셀이고, N3셀의 값은 E3셀에 있습니다. 따라서, M3셀을 기준으로 한 칸 떨어진 셀의 값을 두 칸 떨어진 셀의 값으로 해야 하는데, M3셀은 C3셀와 같은 값이므로 Offset함수를 이용하면 =OFFSET(C3,0,0) 그리고, N3셀의 수식은 2칸 떨어진 E3셀의 값이므로 =OFFSET(C..

Excel 2023.05.04

병합 셀의 첫번째 셀 값 찾기(2) - 사용자 정의 함수

함수를 이용하면 다른 PC에서도 그대로 작동하기 때문에 편리한 대신, 워크시트 함수에는 병합 셀과 관련된 함수가 없으므로 https://lsw3210.tistory.com/entry/%EB%B3%91%ED%95%A9-%EC%85%80%EC%9D%98-%EC%B2%AB%EB%B2%88%EC%A7%B8-%EC%85%80-%EA%B0%92-%EC%B0%BE%EA%B8%B0 위 글과 같이 If함수를 중첩적으로 사용해야 하는 불편함이 있습니다. 따라서, VBA로 사용자 정의 함수를 만들어보겠습니다. 사용자 정의 함수는 PC별로 존재하기 때문에 다른 PC에서 열어보면 폴더명과 함께 사용자 정의 함수명이 표시되는 불편함이 있습니다. 그래도 수식으로 작성하면 복잡한데 사용자 정의 함수를 만들면 간단하게 해결할 수 있는..

Excel 2023.05.03

병합 셀의 첫번째 셀 값 찾기(1) - if와 Offset 함수

아래 데이터를 이용하여 연도별, 지점별로 판매량과 판매액을 집계하는 것을 피벗 테이블과 SumIfs함수를 이용해 만들어 보겠습니다. 1. 피벗 테이블 이용 피벗 테이블 기능을 이용하면 쉽게 아래와 같이 만들 수 있는데, 열 레이블은 연도별로, 행 레이블은 지점별로 수정할 수는 있지만, 연도별까지 없앨 수는 없고, '합계 : 판매량'과 '합계 : 판매액'을 판매량과 판매액으로 수정하고 싶어도 '이미 사용 중인 피벗 테이블 필드의 이름입니다'라고 하면서 수정이 안되는 한계가 있습니다. 확인 버튼을 누른 후 Esc키를 눌러 원래 필드명으로 돌아옵니다. 2. SumIfs 함수 이용 위와 같은 한계점을 극복하기 위해 SumIfs함수를 이용할 수 있으며 이 방법은 피벗 테이블에 비해 어려운 단점이 있지만, 원하는 ..

Excel 2023.05.02

Cell의 속성을 알려주는 Cell 함수 (2)

다른 것은 아래 글을 읽어 보면 알 수 있으므로 생략하고, https://lsw3210.tistory.com/entry/Cell%EC%9D%98-%EC%86%8D%EC%84%B1%EC%9D%84-%EC%95%8C%EB%A0%A4%EC%A3%BC%EB%8A%94-Cell-%ED%95%A8%EC%88%98-1 아래 네 가지만 다뤄보겠습니다. 나. "type" 빈 셀인 경우 b(lank), 텍스트인 경우는 l(etter), 숫자, 날짜, 참과 거짓 값인 경우 v(alue)가 반환됩니다. 다. "contents" 참조 영역의 맨 왼쪽 위 셀의 값을 반환합니다. ① 단일 셀을 지정한 경우 참조로 단일 셀을 지정하는 경우는 그 셀의 값을 반환합니다. A4셀이 수식이더라도 값을 반환합니다. ② 범위를 지정한 경우 범..

Excel 2023.05.01

Cell의 속성을 알려주는 Cell 함수 (1)

1. 기능 참조 영역의 주소, 데이터 형식, 파일 등의 속성을 반환하는 함수로 단일 셀 또는 범위에 따라 반환하는 값이 다른 경우가 있습니다. 2. 구문 CELL(info_type, [reference]) 가. info_type(정보 유형) 정보 유형 반환 값 "address" 참조 영역에 있는 첫째 셀(A1)의 참조를 텍스트로 반환합니다. "col" 참조 영역에 있는 셀의 열 번호를 반환합니다. "type" 셀의 데이터 형식에 해당하는 텍스트 값입니다. 셀이 비어 있는 경우 비어 있는 경우 "b"를 반환하고, 셀에 텍스트 상수가 포함된 경우 레이블의 경우 "l", 셀에 다른 것이 포함된 경우 값에 대해 "v"를 반환합니다. "contents" 참조 영역에 있는 왼쪽 위 셀(범위인 경우 A1셀, 단일 셀..

Excel 2023.04.29

Smart Lock이 작동하지 않는 이유? (갤럭시 스마트폰)

그전에는 집에 있거나 갤럭시 워치를 착용하고 있거나 하면 화면의 잠금이 해제되어 있어서 비밀번호 등을 입력하지 않아도 바로 갤럭시 스마트폰을 사용할 수 있었는데, 언제부터인가 Smart Lock이 안 돼서 설정을 들어가서 보니 Smart Lock에 대한 설명만 있고, 설정 메뉴가 안보입니다. Smart Lock이 정상적으로 작동한다면 아래 화면과 같이 신체 활동 감지, 신뢰할 수 있는 장소, 신뢰할 수 있는 기기를 설정할 수 있는 메뉴가 보여야 합니다. 그래서 오늘 오전 삼성 멤버스 앱을 통해 시스템 로그와 함께 오류 보내기를 했더니 "구글에서 앱 업데이트를 준비 중"이라고 하면서, "구글 내부 일정에 따라 자동 업데이트가 되기 때문에 삼성에서는 일정을 안내하기 어려운 점 양해 부탁드린다"는 답변이 왔습..

스마트폰 2023.04.24

두 개 이상 조건을 만족하는 값을 찾는 여러가지 방법

자료를 작성하다 보면 자료별로 자료가 다른지 비교하거나 다른데서 자료를 가져와야 할 때가 있습니다. 이 때도 Vlookup함수를 사용할 수도 있고, SumProduct, SumIfs, Sum+If 배열 수식 등 다양한 방법을 적용할 수 있습니다. 아래와 같이 왼쪽과 오른쪽에 지역별 월별 판매량 자료가 있고, 오른쪽에는 인원수 데이터만 있다고 할 때 왼쪽에 맞는 값을 찾아서 붙일 경우를 생각해 볼 수 있습니다. ※ 일반적으로는 시트를 달리하겠지만 이해가 쉽도록 왼쪽과 오른쪽에 배치했습니다. 1. 왼쪽과 오른쪽의 판매량 검증하기 Vlookup함수는 조건에 맞는 값을 찾아주는 함수이기 때문에 이 함수를 맨 먼저 사용해야 하지만 조건 2개를 지정할 수 없기 때문에 새로운 열을 추가해야 하기 때문에 맨 나중에 설..

Excel 2023.04.21

SumProduct 함수 - 곱한 것의 합을 반환

1. 정의 product는 '곱하기'란 의미이고, sum이므로 곱한 것의 합계가 됩니다. 그러나, 곱하기뿐만 아니라 더하기, 빼기, 나누기한 후 합계를 구할 수도 있습니다. 2. 구문 =SUMPRODUCT(array1, [array2], [array3], ...) - array1만 필수이고, array2부터는 선택입니다. - array1에 배열 수식처럼 조건 여러 개를 *나 +로 연결해서 입력할 수 있습니다. - Sum+If 배열수식, Sum 또는 SumIfs 함수로 같은 결과를 얻을 수 있는 경우도 있고, 피벗 테이블이 더 효율적일 때도 있습니다. 3. 예제 가. 수량 * 단가로 총매출 구하기 SumProduct 함수의 전형적인 예입니다. 위 표와 같은 경우 수량 * 단가의 합을 구하려면 일반적으로는 ..

Excel 2023.04.20

DateAdd함수 - 지정된 기간만큼 떨어진 날짜를 반환(2) - 값 자동 변경

1편에서 간격이 변경되더라도 매크로로 구한 DateAdd함수의 값이 바뀌지 않는다는 문제점을 지적했는데 이 것을 해결하는 방법을 알아보겠습니다. 1. Sheet1에 매크로 작성 일반적으로 매크로는 엑셀 파일 내에서 공통적으로 사용할 수 있도록 모듈을 추가한 다음 그곳에서 작성하는데 이렇게 하면 워크시트의 내용이 바뀌더라도 영향이 없습니다. 따라서, 탐색기 창에서 Sheet1을 더블 클릭한 후 오른쪽 에디터에서 일반을 누른 후 Worksheet객체를 선택하고, 오른쪽에서 Change 이벤트를 선택하면 자동으로 Private Sub Worksheet_Change 프러시저가 생갑니다 Worksheet_Change 프로시저이므로 워크시트 셀의 내용이 변할 때 이뤄지는 동작을 그 안에 기술하는 것입니다. 그 아래..

EXCEL - VBA 2023.04.19
반응형