Удаление всего, вплоть до последовательности символов (Microsoft Excel)
У Стивена есть рабочий лист с большим количеством текста. В ячейках в столбце A он хочет удалить все, что может произойти перед заданной последовательностью символов, например все, что было до = XX =. В каждой ячейке может быть несколько экземпляров этих символов, но Стивен хочет удалить все до первого появления.
Один из способов сделать это — использовать формулу. Например, следующая формула вычислит все, что находится в ячейке 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 [Удаление всего, вплоть до последовательности символов]
.