스프레드시트: 특정 문자열이 포함된 열을 분할합니다.

스프레드시트: 특정 문자열이 포함된 열을 분할합니다.

내 스프레드시트에서 발췌한 내용은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

참고: 이는 단순화된 예일 뿐입니다. 내 전체 스프레드시트에는 많은 열과 10,000개 이상의 행이 있습니다.

LIT:내 스프레드시트에는 (이미지에서와 같이) 로 시작하는 대괄호 안에 텍스트가 있는 행이 자주 있습니다 .

이 텍스트를 자동으로 추출하여 스프레드시트의 별도 열에 넣을 수 있습니까?

(예: 위의 예에서는 [Lit: Next of hotel]별도의 열에 들어가지만 여전히 같은 행에 남아 있습니다.) 


참고: 예제에 표시된 것처럼 모든 행에 [Lit:] 예제가 있는 것은 아닙니다.

현재 Apple 페이지를 사용하고 있습니다. 하지만 가능하다면 Google Docs나 Open office 또는 다른 패키지를 사용해 보고 싶습니다.

답변1

원하는 문자열이 [LIT:또는 로 시작하는지에 대한 예제가 충돌합니다 [Lit:. 나는 대문자 [LIT:.

LibreOffice(그리고 Apple Pages나 Google Docs에 대해 전혀 모르지만 아마도 다른 Excel과 동등한 제품일 수도 있음)에서 이 FIND()함수를 사용하면 텍스트 필드 내에서 하위 문자열을 찾을 수 있지만 해당 하위 문자열을 찾을 수 없으면 오류를 반환하므로 다음을 수행해야 합니다. IFERROR()마찬가지로 사용하십시오 .

먼저 모든 필드가 항상 문자열의 마지막 문자로 [LIT:끝나는 간단한 예를 살펴보겠습니다 . ]데이터가 A에서 시작하는 열에 있는 경우 A1다음 수식을 사용하면 원하는 작업을 수행할 수 있습니다.

=IFERROR(MID(A1,FIND("[LIT:",A1),LEN(A1)),"")

여기서 FIND()값을 반환하는 경우 해당 위치에서 문자열 끝까지의 하위 문자열이 반환됩니다. 그렇지 않으면 FIND()오류 MID()가 발생하고 빈 문자열이 반환됩니다.

[LIT:필드가 문자열 중간에 나타날 수 있는 더 복잡한 경우에는 공식을 자세히 설명해야 합니다.

=IFERROR(MID(A1,FIND("[LIT:",A1),FIND("]",MID(A1,FIND("[LIT:",A1),LEN(A1)))),"")

이 경우 문자열 끝까지의 하위 문자열이 발견되지만 원래 셀에서 생성된 문자 수는 하위 문자열 내의 [LIT:위치에 의해 제한됩니다 . ]다시 한번 말씀드리지만, 오류가 발생하면 빈 문자열이 생성됩니다.

어떤 수식을 사용하든 셀을 복사하여 나머지 열에 붙여넣으면 됩니다. [LIT:또는 중 하나를 처리해야 하는 경우 다음으로 [Lit:바꾸십시오 . 반면 문자 그대로 대소문자를 구분하는 일치 항목을 찾고 정규식 일치 항목을 사용합니다.FIND("[LIT:",A1)SEARCH("\[L[Ii][Tt]:",A1)FIND()SEARCH()

[LIT:원래 열에서 하위 문자열을 제거해야 하는 경우 A추출된 [LIT:필드를 열에 넣고 C다음 위치에 넣습니다 B1.

=SUBSTITUTE(A1,C1,"",1)

이제 이것을 나머지 열 아래로 복사 B하고 열을 숨깁니다 A. 물론 모든 열과 시작 행을 사용할 수 있습니다. 내 예에서는 머리글 행이 없는 인접한 열을 사용했습니다.

=SUBSTITUTE()오류를 생성하지 않으므로 를 사용할 필요가 없습니다 IFERROR().

관련 정보