Добавление отсутствующей закрывающей скобки

У Терри есть огромный список имен на листе Excel. Некоторые из них – это просто имена, но некоторые имеют слова в скобках после них. К сожалению, у некоторых слов в скобках нет закрывающей скобки, и Терри приходится вручную добавлять закрывающую скобку. Он задается вопросом, есть ли способ, которым он может добавить скобку, используя поиск и замену с подстановочными знаками.

Короткий ответ заключается в том, что вы не можете сделать это с помощью поиска и замены, ни с помощью подстановочных знаков. или обычный. Однако вы можете использовать формулу для добавления недостающих скобок. Ниже приводится лишь один пример типа формулы, которую вы можете использовать:

= IF (AND (NOT (ISERROR (SEARCH («[«, A1))), NOT (RIGHT (A1, 1) = «]»)), A1 & «]», A1)

Уловка состоит в том, чтобы проверить, есть ли в ячейке (в данном случае A1) левая скобка и, если это так, проверьте правильную скобку. Если правая скобка не найдена, вы добавляете ее к содержимому ячейки. Вот еще один вариант той же шаблонной темы:

= IF (ISERROR (FIND («[«, A1)), A1, IF (ISERROR (FIND («]», A1)), A1 & «]», A1))

Если вам нужно регулярно проверять большое количество ячеек на отсутствие скобок, вы можете создать макрос, который будет проверять диапазон ячеек и добавлять правая скобка, если она нужна. Вот пример того, как можно сформулировать такой макрос:

Sub Close_Bracket () Dim c As Range Const csLBrk As String = «[» Const csRBrk As String = «]» При ошибке Продолжить далее для Каждый c In Selection.Cells If InStr (1, c.Value, csLBrk)> 0 And _ InStr (1, c.Value, csRBrk) = 0 Then c.Value = c.Value & csRBrk End If Next cEnd Sub

Чтобы использовать макрос, просто выберите диапазон ячеек, на который вы хотите повлиять, и затем запустите его. Ячейки проверяются на месте и при необходимости изменяются.

Источник: frestage.ru

Бытовой вопрос