뛰어나다

텍스트 및 숫자 분할

Split Text Numbers

Excel 수식: 텍스트 및 숫자 분할일반 공식 |_+_| 요약

텍스트와 숫자를 구분하려면 다음을 기반으로 수식을 사용할 수 있습니다. 찾기 기능 , NS 최소 기능 , 그리고 LEN 기능 이랑 왼쪽 또는 오른쪽 기능은 텍스트 또는 숫자를 추출할지 여부에 따라 다릅니다. 표시된 예에서 C5의 공식은 다음과 같습니다.





= MIN ( FIND ({0,1,2,3,4,5,6,7,8,9},A1&'0123456789'))

문자열 'apples30'에서 숫자 3의 위치인 7을 반환합니다.

설명

개요

공식은 복잡해 보이지만 실제로는 매우 간단합니다.





텍스트를 분할하거나 추출하는 대부분의 공식과 마찬가지로 핵심은 위치 당신이 찾고있는 것의. 위치가 지정되면 다른 기능을 사용하여 필요한 것을 추출할 수 있습니다.

이 경우 숫자와 텍스트가 결합되어 있으며 텍스트 뒤에 숫자가 표시된다고 가정합니다. 한 셀에 나타나는 원본 텍스트에서 다음과 같이 텍스트와 숫자를 별도의 셀로 분할하려고 합니다.



원래의 텍스트 숫자
사과30 사과 30
복숭아24 복숭아 24
오렌지12 오렌지 12
복숭아0 복숭아 0

위에서 언급했듯이 이 경우의 핵심은 다음과 같은 수식으로 수행할 수 있는 숫자의 시작 위치를 찾는 것입니다.

얼마나 많은 if 문을 Excel에 중첩시킬 수 있습니까?
 
= MIN ( FIND ({0,1,2,3,4,5,6,7,8,9},B5&'0123456789'))

위치가 정해지면 텍스트만 추출하려면 다음을 사용하십시오.

 
= MIN ( FIND ({0,1,2,3,4,5,6,7,8,9},A1&'0123456789'))

숫자만 추출하려면 다음을 사용하십시오.

 
= LEFT (A1,position-1)

위의 첫 번째 공식에서 FIND 함수를 사용하여 숫자의 시작 위치를 찾습니다. find_text의 경우 배열 상수 {0,1,2,3,4,5,6,7,8,9}를 사용하므로 FIND 함수가 배열 상수의 각 값에 대해 별도의 검색을 수행합니다. 배열 상수에는 10개의 숫자가 포함되어 있으므로 결과는 10개의 값이 있는 배열이 됩니다. 예를 들어 원본 텍스트가 'apples30'인 경우 결과 배열은 다음과 같습니다.

 
= RIGHT (A1, LEN (A1)-position+1)

이 배열의 각 숫자는 원본 텍스트 내부의 배열 상수에 있는 항목의 위치를 ​​나타냅니다.

다음으로 MIN 함수는 목록에서 가장 작은 값을 반환하며, 이는 목록의 위치에 해당합니다. 첫 번째 숫자 원문에 나오는 것입니다. 본질적으로 FIND 함수는 모든 숫자 위치를 가져오고 MIN은 첫 번째 숫자 위치를 제공합니다. 7은 배열에서 가장 작은 값이며, 이는 원본 텍스트에서 숫자 3의 위치에 해당합니다.

이상한 구조에 대해 궁금해 할 수 있습니다. within_text 찾기 기능에서:

Excel 2010에서 열을 이동하는 방법
 
{8,10,11,7,13,14,15,16,17,18}

수식의 이 부분은 가능한 모든 숫자 0-9를 B5의 원본 텍스트와 연결합니다. 불행히도 FIND는 값을 찾을 수 없을 때 0을 반환하지 않으므로 숫자를 찾을 수 없을 때 발생할 수 있는 오류를 피하기 위한 영리한 방법일 뿐입니다.

이 예에서는 숫자가 항상 나타날 것이라고 가정하기 때문에 두번째 원본 텍스트에서는 MIN이 가장 작은 것만 강제하기 때문에 잘 작동합니다. 첫 번째 반환될 숫자의 발생. 숫자만큼 하다 원본 텍스트에 나타나면 해당 위치가 반환됩니다.

원본 텍스트에 숫자가 포함되어 있지 않으면 원본 텍스트의 길이 + 1과 같은 '가짜' 위치가 반환됩니다. 이 가짜 위치에서 위의 LEFT 수식은 여전히 ​​텍스트를 반환하고 RIGHT 수식은 다음을 반환합니다. 빈 문자열 ('').

저자 데이브 브런스


^