반응형

mid 36

주소를 PNU로 만들기(1-3) : 주소를 법정동명과 지번으로 분리하기

4. 주소를 법정동과 지번으로 분리하기 가. 주소의 형태  아래와 같이 시도, 시군구, 읍면동, 리로 구성된 주소가 있을 때법정동과 지번을 구분해야 하는데한 칸 공백의 개수가 3개인 경우도 있고, 4개, 5개인 경우도 있습니다. 나. 주소를 법정동과 지번으로 나누는 논리필지 구분이 '산'인지, '일반'인지에 따라 주소 나누는 것을 달리해야 합니다.그런데, '산'도 한 글자인 경우도 있고, '산청군'과 같이 한글자 이상에 포함된 경우도 있어서 복잡해집니다. 그렇다면 공백의 개수를 구한 다음 (총 공백의 개수-1)의 위치에 '산'이 있는지 여부를 먼저 알아내고만약 '산'이라면 그 위치부터 맨 끝까지가 지번이 되고,'산'이 아니라면 '총 공백의 개수' 위치 다음부터가 지번이 됩니다. 그리고, 법정동은 지번이 ..

Excel 2024.06.13

문자열 중 원문자 지우기(4) - Scan, Reduce

이번에는 Reduce와 Scan 함수를 이용해 원문자를 제거해 보겠습니다.   1. Reduce 함수를 이용한 수식가. Reduce 함수의 구문=REDUCE([initial_value], array, lambda(accumulator, value))initial_value는 초기값, array는 배열, accumulator는 initial_value와 array를 받는 것이고,value는 accumulator를 이용해서 값을 구하는 수식입니다. 나. 원문자가 아니라면 한 글자씩  결합A2셀을 대상으로 A22셀에서 수식을 작성하겠습니다. 먼저 초기값은 문자열을 결합할 것이므로 ""으로 해야 합니다. 비워두면 0으로 생각해서 이상한 값이 나옵니다. array는 배열인데, 글자를 한 글자씩 구분하기 위해 1부..

Excel 2024.05.14

문자열 중 원문자 지우기(3) - TextJoin, Sequence

이번에는 Textjoin 함수를 이용해 원문자가 아닌 글자만 결합하는 수식을 작성해 보겠습니다. 마찬가지로 B3셀을 갖고 원문자를 제외한 글자만 결합하는 수식을 B18셀에 작성해 보겠습니다. 1. TextJoin 함수TextJoin 함수의 구문은 TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)로서첫 번째 인수는 구분자, 두 번째는 빈 셀을 무시할지 여부, 세 번째부터는 결합한 문자열입니다. 그런데 여기서는 글자를 하나씩 가져와서 Unicode가 9312보다 작거나 9331보다 크다면 결합하지 않는 것으로 하면 됩니다. 2. 수식가. 조건식 만들기첫 번째 인수인 결합할 때 사용할 구분자는 없으므로 공백으로 하고,두 번째 빈셀 무시도 예이므로 입력하지 않고 넘어..

Excel 2024.05.13

문장을 .과 ?를 기준으로 분리하기

1. 문제 아래와 같이 대화처럼 남자, 여자가 있는 경우도 있고(A2, A3셀), 마침표나 물음표가 있으면 줄을 바꾸려고 하며, (잠시 후)와 같이 괄호 안에 있는 문제는 제거하려고 하는 문제입니다. 이것이 원하는 결과입니다. 2. 해법 1 : TextSplit 함수 TextSplit 함수를 이용하면 간단한 줄 알았더니 TextSplit 함수를 사용하면 구분자인 마침표와 물음표가 없어지는 문제가 있고, 마지막의 마침표가 하나의 배열로 생성되기 때문에 분할하는 Text를 길이보다 하나 작은 것을 기준으로 해야 합니다. 가. A2셀 분리 (1) TextSplit의 대상인 Text를 길이보다 하나 짧은 길이로 지정하고, A2의 경우 "여자: "가 있으므로 4부터 시작 = MID(A2,4,LEN(A2)-4) (..

Excel 2024.05.06

배열로 Or 조건 처리

1. 문제 왼쪽에 담당자별 지역별 현황이 있는데, 이것을 오른쪽 표와 같이 담당자별로 지역별로 집계를 하려고 하는데, 특이한 점은 지역을 묶어서 집계한다는 것입니다. 이런 경우에 일반적으로 사용하는 것이 피벗 테이블이지만, 위와 같이 수원, 용인 경우의 합계를 구하려면 두 개의 값을 더할 수밖에 없습니다. 이와 같은 경우에 수원 또는 용인인 경우라는 조건을 넣어서 건수를 집계하고자 하는 것입니다. 2. 해법 1 : TextSplit 함수 이용 가. Sum + CountIfs 이용 TextSplit 함수는 Microsoft 365에서만 사용 가능한 함수이기 때문에 이보다 낮은 버전이라면 사용할 수 없는 제한은 있지만 이와 같은 경우에 매우 쉽게 처리할 수 있습니다. 다시 말해 수원, 용인을 TextSpli..

Excel 2024.05.04

특정 기호 사이의 문자 찾기(1)

1. 문제 아래와 같이 하이픈과 하이픈 사이의 문자를 찾고자 하는 경우가 많을 것입니다. 2. 해법 가. 논리 일반적으로 생각할 수 있는 것이 find 함수이고, 그다음 생각할 수 있는 것이 substitute 함수를 이용하는 것입니다. 나. find 함수를 이용하는 경우 (1) 첫 번째 하이픈의 위치 찾기 =find("-",B2)라고 하면 B2셀에서 첫 번째 하이픈의 위치를 알 수 있습니다. 5란 다섯 번째 위치에 하이픈이 있다는 것입니다. (2) 두 번째 하이픈의 위치 찾기 두 번째 하이픈의 위치를 찾을 때는 첫 번째 하이픈 위치 다음부터 찾아야 첫 번째 하이픈이 찾아지는 것을 막을 수 있으면, 첫 번째 하이픈 위치 + 1을 find 함수의 세 번째 인수를 넣으면 됩니다. 따라서, 수식은 =find(..

Excel 2024.04.07

텍스트내 금액 삭제하기

1. 문제 아래와 같이 텍스트에 금액이 포함되어 있을 때 금액을 지우려고 하는 것입니다. 규칙은 금액은 쉼표가 1개 또는 2개가 있고, 일반 숫자는 쉼표가 없이 숫자만 있습니다. 2. 해결 방안 Find 함수는 와일드카드 적용이 안되는데, Search 함수는 와일드카드 적용이 돼서 Search 함수를 이용해서, 컴마가 하나만 있는지 2개가 있는지에 따라 처리를 달리하는 것입니다. 파일 첨부금액부분지우기(답글).xlsx 단계별로 이해할 수 있도록 수식을 작성했습니다. B1셀 : =SEARCH("?,???",A1) 첫 번째 컴마 앞의 숫자 위치를 찾습니다. C1셀 : =SEARCH("?,???,",A1) 컴마가 2개 있는 경우 첫 번째 컴마 앞의 숫자 위치를 찾습니다. 위 2개는 위치가 중요한 것이 아니고 ..

Excel 2024.03.25

한 셀에서 일정한 간격으로 떨어진 숫자 합계 구하기

1. 문제 아래와 같이 일정한 길이의 숫자가 한 칸 공백으로 연결되어 있을 때 합계를 구하는 것을 알아보겠습니다. Mid를 이용한 365 이전 버전과 TextSplit와 ByRow를 이용한 365 버전 2가지, 총 세 가지 방법에 대해 알아보겠습니다. 2. Mid 함수 가. Mid 함수의 구문 MID(text, start_num, num_chars)로서 문장(또는 문자열이 들어 있는 셀 주소)과 시작 위치, 가져올 문자의 개수 3개로 되어 있습니다. 나. 수식 작성 위 문제를 살펴보면 숫자는 7자리이고, 공백이 1개 있으므로 8개가 1묶음입니다. 따라서, Mid함수를 이용해 Mid(A2,1,7), 그다음은 Mid(A2,9,7)... 식으로 개별적으로 숫자를 발췌한 후 더할 수도 있으나 배열 수식을 이용해..

Excel 2024.03.07

단위 앞의 숫자 추출하기(3) - 한글

한글은 Code, UniCode 함수를 이용할 수도 있고, Mid 함수를 이용할 수도 있습니다. 5. 한글 앞의 숫자 추출하기 가. 한글에 해당하는 Code 또는 UniCode값 알아내기 코드 값을 알아내기 위해 i11셀에 =code(h11)이라고 입력하면 42145가 구해지고, 유니코드 값을 알아내기 위해 j11셀에 =unicode(h11)이라고 하면 12593이 구해집니다. 이제 i11셀과 j11셀을 선택한 후 j11셀의 채우기 핸들을 더블 클릭하면 나머지 한글의 (유니) 코드 값을 알 수 있습니다. 따라서, 이것을 이용해서 한글의 위치를 알 수 있고, 1을 빼면 숫자만 구할 수 있습니다. 나. 숫자 추출하기 (1) Code 함수 이용하기 영문자의 위치를 구해서 숫자를 추출하는 D3셀의 수식을 복사해..

Excel 2024.03.01

단위 앞의 숫자 추출하기(2) - Code 함수

4. Code 함수 이용하기 가. Code 함수의 정의 및 아스키코드 표 Code함수는 문자에 대한 Ascii 코드 값을 반환해 주는 함수입니다. 아래가 아스키코드 표인데, 숫자는 48부터 시작하고, 알파벳 A는 65, 소문자 a는 97부터 시작합니다. 나. Code 함수를 이용한 첫 번째 문자의 위치 찾기 (1) 문자가 알파벳인지 여부 판단 한 글자씩 Code 값을 찾아내는 수식은 CODE(MID(B3,COLUMN(A:K),1))>=65 입니다. 그러면 아래와 같이 False, True, True... #Value!... 등으로 표시됩니다. 2019 버전 등의 경우는 먼저 11개의 범위를 잡은 다음 수식을 입력하고, CSE 캐를 눌러야 합니다. (2) 첫 번째 알파벳 위치 파악하기 =MATCH(TRUE..

Excel 2024.02.29
반응형