Удаление тире из номеров ISBN

Кьяран работает в библиотеке, и ему часто приходится работать с длинными списками номеров ISBN в Excel. Номера должны содержать 10 или 13 цифр, могут содержать дефисы и могут иметь начальные нули. Он использует текстовый формат для ячеек, содержащих номера ISBN, чтобы сохранить их в неизменном виде как текстовые строки. Для некоторых целей дефисы в ISBN должны быть удалены (для этого он использует «Найти и заменить»), и вот тут-то и начинаются проблемы. 0-241-95011-2 становится 241950112 (теперь он уменьшен до 9 цифр), и, что еще хуже, 978-0-00-200784-9 становится 9.78E + 12 (экспоненциальное представление). Кьяран не может найти никакого способа обойти эти две проблемы, независимо от того, что он делал с форматированием до или после использования функции «Найти и заменить», чтобы избавиться от дефисов.

Происходит то, что когда вы редактируете ячейки, Excel анализирует содержимое ячеек как числа, а не как текст. В этом случае лучшее решение – убедиться, что перед содержимым вашей ячейки стоит апостроф, прежде чем выполнять поиск и замену, чтобы избавиться от дефисов. Если у вас есть рабочий лист, содержащий много номеров ISBN в столбце A, вы можете добавить апострофы с помощью следующей формулы:

 = "'" & A1 

Затем вы можете скопировать результаты формул, а затем использовать Специальную вставку, чтобы вставить значения обратно в столбец A. Каждое значение в столбце A будет включать апостроф. Когда вы позже выполните поиск и замену, начальные нули все еще будут присутствовать, и вы не получите никаких попыток научного представления.

Причина, по которой это работает, заключается в том, что апостроф является индикатором того, что Excel, что содержимое ячейки следует рассматривать как текст. Апостроф не отображается на листе, но он является частью содержимого ячейки, как вы можете убедиться, посмотрев на панель формул.

Другой подход – обойти использование функции «Найти и заменить» для получения избавиться от черточек. Вместо этого используйте функцию ЗАМЕНИТЬ, чтобы удалить их следующим образом:

 = ПОДСТАВИТЬ (A1, "-", "") 

Функция рабочего листа ЗАМЕНА возвращает текст значение, поэтому любые начальные нули сохраняются, и Excel не пытается преобразовать числа для использования в числовом формате.

Если вам обычно требуется удалить тире из диапазона ячеек, содержащих ISBN, вам может быть лучше использовать макрос для выполнения операции. Следующий макрос работает с любыми ячейками, которые вы выбрали перед его запуском.

 Sub RemoveDashes () Dim c As Range Dim sISBN As String Application.ScreenUpdating = False For Each c In Selection sISBN = Replace (  c, "-", "") c.NumberFormat = "@" c.Value = "'" & sISBN Next Application.ScreenUpdating = TrueEnd Sub 

В основном макрос выполняет три функции: удаляет дефисы, форматирует ячейку как текст и помещает вырезанный ISBN обратно в ячейку с апострофом перед ним.

Оцените статью
Frestage.ru
Добавить комментарий