반응형

mid 37

단위 앞의 숫자 추출하기(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

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

이번에는 Lambda 함수를 이용해 보겠습니다. 1. Lambda 함수 가. 구문 =LAMBDA([parameter1, parameter2, …,] calculation) 로서 인수들을 입력하고, 인수를 이용한 계산식을 끝에 입력합니다. 나. 사용 예 (1) 셀에 입력 셀에 =LAMBDA(x,y,x+y)(3,4)라고, 인수를 이용한 수식을 입력한 다음 인수에 들어갈 값을 괄호 안에 입력하는 방식입니다. 수식은 간단하게 x와 y를 더하는 것으로 3과 4를 대입하니 7이 반환됩니다. (2) 이름관리자에 입력 일시적인 것은 위와 같이 사용할 수 있지만, 계속적으로 사용하는 것이라면 이름관리자에 넣고 사용하는 것이 좋습니다. 다만 한계는 이름관리자로 입력된 파일에만 적용되므로 다른 파일에도 적용하려면 다른 이름..

Excel 2024.01.16

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

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

Excel 2024.01.15

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

3. Find함수를 이용해 첫 번째 숫자의 위치 찾기(성공) Find함수의 첫 번째 인수는 찾을 값인데, 배열로 지정할 수 있으므로 숫자를 배열에 넣어서 =find({0,1,2,3,4,5,6,7,8,9},a2)라고 하면 Microsoft 365의 경우는 아래와 같이 동적 배열로 반환됩니다. 다른 엑셀 버전은 7만 반환될 듯합니다. 위 반환값에서 7은 0의 위치, 9는 1의 위치이며, 세 번째부터는 에러가 발생하는데 해당하는 숫자가 없기 때문입니다. 에러가 나면 떠오르는 것이 Aggregate 함수입니다. 배열형인 경우 Aggregate 함수의 구문은 AGGREGATE(function_num, options, array, [k])이며, 두 번째 인수인 options에서 오류값을 무시하는 옵션을 지정할 수 ..

Excel 2023.11.06

문장에서 숫자만 추출하기(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

한글과 영문을 기준으로 숫자 분리하기

아래와 같이 텍스트에 '오더'와 'Order'가 있을 때 그다음에 나오는 숫자를 분리하는 다양한 해법에 대해 알아보고자 합니다. 1. 방법 1 가. '오더'를 기준으로 숫자 분리하기 간단하게 생각할 수 있는 방법은 오더 또는 Order를 찾아서 그 위치를 기준으로 값을 가져오는 것인데, 오더는 2글자이고, Order는 5글자이다 보니 조건을 달리해야 하며, Mid함수를 이용해 숫자를 분리해서 가져오는 경우 반환값이 문자이기 때문에 숫자로 변환하기 위해서는 Value 함수를 이용해야 합니다. 따라서, =VALUE(MID(B4,FIND("오더",B4)+3,10))이 됩니다. Find함수는 구문이 FIND(find_text, within_text, [start_num]) 이므로 find_text는 "오더"이며..

Excel 2023.09.01

공백의 코드 값이 여러 가지입니다.

이 글에서 텍스트로 된 수식의 값을 구하는 사용자 정의 함수를 만들었는데, 네이버 카페에서 글을 읽다 보니 텍스트 수식을 값으로 바꿔달라는 글이 있어 이 파일에 적용해 보니 안됩니다. 원래는 엑셀 통합문서(*.xlsx)인데 위 사용자 정의 함수를 복사해서 붙여 넣은 후 매크로 사용 통합문서(*.xlsm)으로 바꿨습니다. 그리고, B1셀에 =calc_text(A1)라고 입력하고 엔터키를 누르니 #VALUE! 에러가 발생합니다. 왜 그런가 하고 A1을 마우스로 선택하고 F9키를 누르니 뒤에 공백이 하나 있습니다. 1. 공백 없애기 가. 실패 1 =calc_text(SUBSTITUTE(A1," ",""))라고 SUBSTITUTE함수를 이용해서 공백 한 칸을 공백이 없는 것을 대체하는 수식을 추가해도 여전히 #..

Excel 2023.08.20

한 열의 데이터를 두 열로 분할

이전에 데이터 탭의 텍스트 나누기와 파워 쿼리의 열 분할에 대해 다뤄봤는데, 이번에는 다른 경우의 데이터 분할에 대해 알아보겠습니다. 통계청에서 조회한 행정구역(시군구)별 주민등록세대수 자료인데, 다운로드하여 보니 서울특별시와 종로구 등의 데이터가 열을 달리해야 데이터 다루기가 편한데 같은 열에 있습니다. 따라서, 이를 다른 열로 만드는 것에 대해 알아보겠습니다. 1. 구조 파악서울특별시는 첫째 자리부터 시작하고, 종로구는 위치를 =FIND("종",A4) 수식으로 알아보니 4부터 시작합니다. 2. 분리하는 방법 가. 실패1부터 시작하는 것과 4부터 시작하는 것을 두 개의 열에 나눠서 표시하면 됩니다. F4셀의 수식은 복사할 때 방해가 되므로 F열과 G열을 선택한 후 마우스 오른쪽 버튼을 누른 후 삽입 메..

Excel 2023.08.08

텍스트로 된 수식의 값 구하기(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

텍스트로 된 수식의 값 구하기(2) - 사칙 연산자 적용

"텍스트로 된 수식의 값 구하기(1)"에서는 곱하기만을 다뤘는데, https://lsw3210.tistory.com/entry/%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A1%9C-%EB%90%9C-%EC%88%98%EC%8B%9D%EC%9D%98-%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B01-%EA%B3%B1%ED%95%98%EA%B8%B0%EB%A7%8C 이번에는 *뿐만 아니라 +, /, - 등 사칙 연산을 제대로 계산해서 값을 구하는 것을 구현해 보겠습니다. 1. 연산자 위치 알아내기 "텍스트로 된 수식의 값 구하기(1)"에서도 연산자인 *의 위치를 =find("*",a3) 수식을 이용해 구했으나, 사칙 연산 기호가 모두 적용돼야 하므로 위 수식을 수정해야 합니다..

Excel 2023.07.17
반응형