반응형

Right 8

문자열 중 원문자 지우기(1) - Unicode, Substitute

1. 문제문자열 중에서 원문자만 지우려고 합니다.  자세히 살펴보면 원문자가 문자열의 맨 뒷부분에만 있고, 원문자가 하나뿐만 아니라 3개까지 있습니다. 2. 원문자의 코드 값 알아내기B3셀에서 ①만 복사한 후 W1셀에 붙여 넣고코드 값을 알아내기 위해 X1셀에 =code(w1)이라고 입력하면 43239가 구해지고,Y1셀에 =unicode(w1)이라고 입력하면 9312가 구해집니다. Code 함수는 윈도우에서는 ANSI 코드값을 반환하고, Unicode에 대한 설명을 나무위키에서 찾아보면 "유니코드(Unicode)는 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식이다. 유니코드 컨소시엄(Unicode Consortium)에서 제정, 관리한다."라고 되어 있습니다. 따라서, Code 값 또..

Excel 2024.05.09

근무표 유형 변경하기(365 이전 버전용)

1. 문제 아래와 같이 직원별, 일자별 근무 현황이 있는데, 근무 유형별, 일자별로 누가 근무했는지와 시간외근무를 오른쪽 '시간외근무 유형'에 따라 괄호 안에 시간수를 입력해서 표시하려고 합니다. 원 데이터는 다른 시트에 있는건데 이해와 설명의 편의를 위해 한 개 시트에 모았습니다. 2. 해결 방안 365 버전용 함수를 이용하는 방법과 이전 버전용 함수를 이용하는 두 가지 방법에 대해 알아보겠습니다. 가. 365 이전 버전 (1) d1, d2, n1, n2 유형에 따라 일자별 근무자 및 괄호안에 숫자 표시 일자와 유형 2가지 조건을 만족해야 하므로 두가지 조건을 * 연산자로 연결하면 =($B$3:$H$8=K$2)*($B$2:$H$2=$J3)이 되는데, #분산!라고 표시되고, 6*7의 크기로 테두리가 쳐집..

Excel 2024.03.08

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

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

Excel 2024.01.15

문장에서 숫자만 추출하기(1)

1. Find 함수를 이용해 맨 오른쪽 공백의 위치 찾기(실패) 마지막 공백의 위치를 찾은 다음, 그 위치의 오른쪽 첫번째부터 숫자를 가져오면 됩니다. Find 함수는 구문이 FIND(find_text, within_text, [start_num]) 이므로 세번째 인수로 시작 위치를 숫자로 지정할 수 있습니다. 숫자의 길이에서 왼쪽으로 시작 위치를 지정하려고 하는데 10이면 두번째가 아니라 첫번째 공백 위치까지 갈 수 있으므로 5로 지정하겠습니다. 그러면 수식은 =find(" ",a2, len(a2)-5) 가 됩니다. 공백의 위치 6이 구해졌습니다. 숫자를 추출하는 것은 그 위치에 1을 더한 위치부터 가져오는데 Mid함수를 이용하면 됩니다. Mid함수의 구문은 MID(text, start_num, num..

Excel 2023.11.04

텍스트로 된 수식의 값 구하기(3) - Let, Switch 함수 이용

1. Let과 Switch 함수 둘 다 Microsoft 365용 Excel, Mac용 Microsoft 365용 Excel, 웹용 Excel , Excel 2021, Mac용 Excel 2021에서만 사용 가능한 최신 함수입니다. 가. Let 함수 (1) 정의 및 구문 Let함수는 이름에 값을 할당해서 계산 후 결과 값을 돌려주는 것으로 계산식을 이름에 할당하고, 다시 계산할 수 있는 유용한 함수이며, 구문은 아래와 같이 이름, 값, 계산식 또는 이름2 식을 여러 번 지정할 수 있으며, 마지막 인수는 반드시 계산식으로 끝나야 합니다. =LET(name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3...]) (2) 사용 예..

Excel 2023.07.18

(파워 쿼리) 변환의 추출과 열 추가의 추출(1)

파워 쿼리 편집기에서 추출은 변환에도 있고, 열 추가에도 있습니다. 변환은 기존 데이터가 새로운 값으로 바뀌는 것이고, 열 추가는 기존 데이터는 유지되고, 새로운 값으로 열이 추가되는 것입니다. 그러나 모두 콤보 상자를 누르면 길이, 처음 문자, 마지막 문자, 범위, 구분 기호 앞 텍스트, 구분 기호 뒤 텍스트, 구분 기호 사이 텍스트가 있습니다. 1. 길이 가. 변환 표가 만들어진 상태이므로 데이터 탭에서 테이블/범위에서를 누릅니다. 그러면 파워 쿼리 편집기가 열리는데, '단어 추출' 열 전체를 선택하거나 '아름다운 공원' 등 아무 데이터나 선택하고, 변환 탭의 추출 옆 콤보 상자를 누르고, 길이를 선택하면 기존 데이터가 문자(한글 2바이트가 1, 영문 1바이트와 공백이 1)의 길이로 바뀝니다. 함수 ..

두 문장의 같은 단어 비교(4) - 어미, 조사 등 제거 도전

https://lsw3210.tistory.com/entry/%EB%91%90-%EB%AC%B8%EC%9E%A5%EC%9D%98-%EA%B0%99%EC%9D%80-%EB%8B%A8%EC%96%B4-%EB%B9%84%EA%B5%90 두 문장의 같은 단어 비교(1) - 매크로 작성 위와 같이 A1셀과 A2셀의 문장 2개를 비교해서 같은 단어일 경우는 글자 색을 빨간색으로 표시하는 것을 해보겠습니다. 1. 논리 A1셀과 A2셀을 각각 빈칸을 기준으로 문장을 나눈 다음 배열에 넣고, lsw3210.tistory.com 위 글을 쓸 때만 해도 어미 또는 조사 등을 제거하는 것이 어렵다고 생각하고 포기했는데, 간단하게라도 만들어 놓으면 완성하는 것은 사용자의 몫이 될 수도 있을 듯해 제한적으로나마 매크로를 작성해 ..

EXCEL - VBA 2023.05.11

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