Ciaran은 도서관에서 작업하며 종종 Excel에서 긴 목록의 ISBN 번호로 작업해야합니다. 숫자는 10 자리 또는 13 자리 여야하며 대시를 포함 할 수 있으며 선행 0을 포함 할 수 있습니다. 그는 ISBN이 포함 된 셀을 텍스트 문자열로 그대로 유지하기 위해 텍스트 형식을 사용합니다. 어떤 목적을 위해, ISBN의 대시를 제거해야합니다 (그는 찾기 및 바꾸기를 사용함). 여기서 문제가 시작됩니다.

0-241-95011-2는 241950112 (이제 9 자리 숫자로 떨어짐)가되고, 978-0-00-200784-9는 9.78E + 12 (과학적 표기법)가됩니다. Ciaran은 대시를 제거하기 위해 찾기 및 바꾸기를 사용하기 전이나 후에 서식을 지정하더라도이 두 가지 문제를 해결할 수있는 방법을 찾을 수 없습니다.

일어나는 일은 셀을 편집 할 때 Excel이 텍스트가 아닌 숫자로 셀 내용을 구문 분석한다는 것입니다. 이 경우 가장 좋은 해결책은 대시를 제거하기 위해 찾기 및 바꾸기를 수행하기 전에 셀 내용 앞에 아포스트로피가 있는지 확인하는 것입니다.

A 열에 많은 ISBN 번호가 포함 된 워크 시트가있는 경우 다음과 같은 수식을 사용하여 아포스트로피를 추가 할 수 있습니다.

= "'" & A1

그런 다음 수식의 결과를 복사 한 다음 선택하여 붙여 넣기를 사용하여 값을 A 열에 다시 붙여 넣을 수 있습니다. 그러면 A 열의 각 값에 아포스트로피가 포함됩니다. 나중에 찾기 및 바꾸기를 수행 할 때 선행 0이 여전히 존재하며 과학적 표기법을 시도 할 수 없습니다.

이것이 작동하는 이유는 아포스트로피가 셀 내용이 텍스트로 처리되어야 함을 Excel에 표시하기 때문입니다. 아포스트로피는 워크 시트에 표시되지 않지만 수식 입력 줄을 보면 알 수 있듯이 셀 내용의 일부입니다.

또 다른 방법은 찾기 및 바꾸기를 사용하여 대시를 제거하는 것입니다. 대신 다음과 같이 SUBSTITUTE 함수를 사용하여 제거하십시오.

=SUBSTITUTE(A1,"-","")

SUBSTITUTE 워크 시트 함수는 텍스트 값을 반환하므로 선행 0이 유지되고 Excel은 숫자 형식을 사용하도록 숫자를 변환하지 않습니다.

ISBN이 포함 된 셀 범위에서 대시를 일상적으로 제거해야하는 경우 매크로를 사용하여 작업을 수행하는 것이 더 좋습니다. 다음 매크로는 실행하기 전에 선택한 모든 셀에서 작동합니다.

Sub RemoveDashes()

Dim c As Variant, sISBN As String

For Each c In Selection         sISBN = Application.Substitute(c, "-", "")

c.NumberFormat = "@"

c.Value = "'" & sISBN     Next End Sub

기본적으로 매크로는 세 가지 작업을 수행합니다. 대시를 제거하고 셀을 텍스트 형식으로 지정하며 제거 된 ISBN을 셀 앞에 아포스트로피가있는 셀에 다시 배치합니다.

_ 참고 : _

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

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

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

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

link : / excelribbon-Removing_Dashes_from_ISBN_Numbers [ISBN 번호에서 대시 제거].