Steven은 텍스트가 많은 워크 시트를 가지고 있습니다. A 열의 셀에서 그는 = XX = 이전의 모든 것과 같이 주어진 문자 시퀀스 이전에 발생할 수있는 모든 것을 삭제하려고합니다. 각 셀에 이러한 문자의 여러 인스턴스가있을 수 있지만 Steven은 처음 발생하기 전에 모든 것을 삭제하려고합니다.

이를 수행하는 한 가지 방법은 공식을 사용하는 것입니다. 예를 들어 다음 수식은 A1 셀에있는 모든 항목을 평가하고 = XX = 문자까지 모든 것을 반환합니다. 셀에 문자가 없으면 전체 셀이 반환됩니다.

=RIGHT(A1,IF(ISERROR(FIND("=XX=",A1,1)), LEN(A1),LEN(A1)-FIND("=XX=",A1,1)+1))

대신 = XX =의 첫 번째 항목을 반환하지 않으려면 수식 끝 부분의 +1을 -3으로 변경하기 만하면됩니다.

매크로 기반 솔루션을 선호하는 경우 다음과 같은 루틴을 사용할 수 있습니다. 현재 선택된 모든 셀을 검사 한 다음 = XX = 시퀀스 이전의 모든 항목을 삭제합니다.

Sub DeleteToSequence()

Dim rCell As Range     Dim sSeq As String     Dim x As Long

sSeq = "=XX="

For Each rCell In Selection         x = InStr(rCell.Value, sSeq)

If x > 0 Then             rCell.Value = Mid(rCell, x)

End If     Next

Set rCell = Nothing End Sub

이 매크로는 특히 검색 대상이 등호 (= XX =에서와 같이)로 시작하는 경우 일부 오류를 유발할 수 있습니다.

등호로 시작하는 문자열이 셀에 다시 채워지면 #NAME? Excel이 수식을 포함하는 것처럼 셀을 구문 분석하려고하기 때문에 오류가 발생합니다.

문자 시퀀스를 통해 모든 것을 삭제하려면 루틴 중간에 다음 행을 사용하십시오.

rCell.Value = Mid(rCell, x + Len(sSeq))

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (7696)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Deleting_Everything_Up_to_a_Character_Sequence [Deleting Everything Up to a Character Sequence].