
참고: 이는 단순화된 예일 뿐입니다. 내 전체 스프레드시트에는 많은 열과 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()
.