반응형

len 20

같은 글자가 중복되는 경우 마지막 글자의 위치 찾기(2) - ByRow, Reduce

1. 문제아래와 같이 동, 리가 있는 경우 지번을 제외한 법정동을 추출해 보겠습니다.  2. 해법 1 - 성공가. Reduce 함수의 구문=REDUCE([initial_value], array, lambda(accumulator, value, body))로서[initial_value]는 옵션으로서 초기값이며, 생략하면 0이 됩니다. array는 처리할 대상이 되는 배열이고, 이 2개를 lambda함수에 전달하는데, accumulator는 누계값으로서 초기값은 Reduce함수의 첫 번째 인수인 initial_value가 되며, value는 현재 처리할 셀 또는 값으로서 current_value가 이해하기 쉽습니다. 예를 들어 Reduce 함수의 두 번째 인수인 array로 A2셀에서 A7셀을 입력하면 순서..

Excel 2024.09.19

같은 글자가 중복되는 경우 마지막 글자의 위치 찾기(1) - Left, Max, Substitute, Len

1. 문제  "서울특별시 종로구 청운동"의 경우는 '동'이란 글자가 하나만 있기 때문에 간단한데,"서울특별시 종로구 동숭동'의 경우는 '동'이란 글자가 두 번 나오므로 두 번째 '동'의 위치를 찾으려면 첫 번째 '동' 다음부터 '동'의 위치를 찾아야 합니다. 이런 식으로 '동'이 여러 번 나오는 경우 마지막 '동'의 위치를 찾아보겠습니다. 또한 '충청남도 천안시 동남구 동면 동산리'의 경우는 '동'이 세 번씩 나오지만 결국은 '리'가 중요한 요소이므로 '리'의 위치를 찾아야 합니다. 2. 해법가. 동일한 글자 중 마지막 글자의 위치 구하기(1) 한 가지 글자를 기준으로 할 경우 (가) 같은 글자수가 몇 개인지 알아내기같은 글자수가 몇 개인지 알아내려면 전체의 길이에서 특정 글자를 공백으로 만든 다음  그..

Excel 2024.09.13

중괄호 안에 값을 넣어 배열 만들기 (4)

이전 내용은 아래 글을 참고 바랍니다.https://lsw3210.tistory.com/549 (다) Mid 함수의 가져올 문자의 개수 구하기H열에서 G열의 값을 빼면 가져올 문자의 개수가 되는데,마찬가지로 L열이 공백이므로 Len함수를 이용해 길이가 0보다 클 때는 빼고, 아니면 10이라고 하면 됩니다 L열을 비워둔 것은 숫자를 빼서 다섯 개를 만들어야 하므로 6번째를 비워둔 것입니다. 수식은 =IF(LEN(H2),H2-G2,10)이 됩니다. 뺀 값인 5,2,4,9가 구해지고, 값이 비워있을 때 10을 반환해서 모두 맞는 값입니다. Q2셀의 채우기 핸들을 Q5셀까지 끕니다. 5행만 네번째 값이 9가 아닌 3으로 다른데, '도청로'의 길이입니다. (라) TextJoin으로 연결하기이제 시작 위치와 문자의..

Excel 2024.07.25

두번째 문자(열)의 시작 위치 맞추기

1. 문제 A1셀부터 B2셀까지 공백과 줄 바꿈 문자를 넣어서 연결해서 표시할 때 두 번째 단어의 위치를 맞추려면 어떻게 해야 하는지 탐구해 보겠습니다. 수식은 =CONCAT(A1," ",B1,CHAR(10),A2," ",B2)로서 Concat함수는 문자열을 결합해서 표시해 주는 함수이고, 공백 한 칸은 "(큰따옴표) 다음에 스페이스바를 한 번 밀어 삽입하며, 줄을 바꾸는 것은 키보드로 할 때는 Alt+Enter키를 누르는데, 아스키코드로 하면 10(Line Feed)이라 Char(10)을 사용합니다. 그런데 문제는 한글이 두 바이트이므로 두 번째 줄의 공백 한 칸을 스페이스바를 두 번 더 밀어 3칸으로 하면 맞을 듯한데 그게 아니고, 첫 번째 단어의 길이가 위가 길면 아래에서 스페이스바를 밀어야 하고,..

Excel 2024.07.16

주소를 PNU로 만들기(2) - '산' 다음에 공백이 없는 경우

주소를 PNU로 만들기(1-3) : 주소를 법정동명과 지번으로 분리하기와 TextBefore와 TextAfter 함수를 이용해 주소를 법정동과 지번으로 분리하기 모두 산과 지번 사이에 공백아 있는 경우만 다뤘는데, 이번에는 산과 지번이 공백 없이 붙어 있는 경우를 대상으로 살펴보겠습니다. 1. 주소 데이터 '산'이 없는 경우는 동일하고, '산'이 있을 경우 산238과 같이 산과 본번사이에 공백이 없는 것만 다릅니다. 2. 주소를 법정동명과 지번으로 분리하기가. Substitute 함수 이용'산'의 위치와 관계없이 공백의 개수를 기준으로 앞과 뒤를 나누면 됩니다. (1) 법정동명 구하기(가) Substitute 함수의 구문SUBSTITUTE(text, old_text, new_text, [instance_..

Excel 2024.06.19

TextBefore와 TextAfter 함수를 이용해 주소를 법정동과 지번으로 분리하기

TextBefore와 TextAfter함수는 Microsoft 365 버전에서만 사용가능하기 때문에 사용에 제약이 있지만 쉽게 주소에서 법정동과 지번을 분리해 낼 수 있으므로 알아보겠습니다. 1. 구문 TextBefore함수의 구문은 =TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])로서 text는 범위로 지정하면 되며 delimiter는 구분자로 문자열을 나눌 구분 기호 또는 문자열이 됩니다. 예를 들어 쉼표(,) 또는 한 칸 공백(" ")이 될 수 있습니다. [instance_num]은 몇 번째인지를 지정하는 것으로 음수도 가능하면 음수인 경우는 뒤에서부터 가져옵니다. 2. 적용 가. '산'이 있는지..

Excel 2024.06.18

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

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

Excel 2024.06.13

특정 문자 기준 몇 번째까지 문자열 가져오기

1. 문제아래와 같이 빨간 글자 전까지만 글자를 가져오는 것을 수식으로 만들어보겠습니다. 2. 해법기준은 뒤에서 두 번째 콜론까지 가져오는 것입니다. 가. Substitute 함수 사용(1) 몇 번째부터 몇 번째 + 1번째 사이의 문자열 추출하기몇 번째부터 몇 번째 + 1번째까지의 문자열을 추출하는 것은 50개의 공백을 삽입한 다음 50*번째부터 50개의 문자를 추출한 다음 좌, 우 공백을 제거합니다.위 데이터를 기준으로 세 번째 콜론과 네 번째 콜론 사이의 문자를 추출하는 것은=TRIM(MID(SUBSTITUTE(D4,":",REPT(" ",50)),50*3,50))로 구합니다. (2) 처음부터 몇 번째까지의 문자열 추출하기이것은 특정 문자를 네 번째 위치에 삽입한 다음 그 문자를 찾아서 -1까지를 가..

Excel 2024.04.26

문자열내 문자의 개수 세기

1. 일반적인 경우 문자열 내 문자의 개수를 셀 때는 전체 길이에서 해당 문자를 공백으로 대체한 다음의 길이를 빼면 해당 문자의 개수가 됩니다. 아래와 같은 경우 0의 개수를 세려면 =len(c2)-len(substitute(c2,0,"")) 라고 하면 됩니다. 0의 개수를 세면 6이 맞습니다. 2. 특수한 경우 이번 문제는 0이 있는 강좌수의 개수를 세는데, 0/0처럼 0이 두 번 들어간 강좌 수는 제외해야 합니다. 아래와 같은 경우 두 번째 줄의 26240의 0은 세면 안되므로, 0과 /0을 구분해서 계산해야 합니다. 두 번째 줄과 네 번째 줄은 /0이 한 번 있으므로 1이고, 세 번째 줄은 //0/0이 2번 있고, /0이 2번 있으므로 2이고, 다섯 번째 줄은 /0만 3번 있으므로 3이 답입니다. ..

Excel 2024.04.01

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