Страницы: 1
RSS
Форматирование значений (частичное совпадение текста)
 
Доброго времени суток! Есть небольшая проблема. В столбце А есть список людей в формате Имя Фамилия (Должность), например: Евгений Носов (Директор); между этими строками есть другие типы данных (числа, описания, значения формул). В столбце Е - отсортированный по алфавиту список всех людей отдела, причём в формате Имя Фамилия, без должности в скобках. Задача простая - подсветить в столбце Е тех людей, которые встречаются в столбце А. То есть, если в столбце А есть значение Анна Сорокина (стажёр), а в столбце Е просто значение Анна Сорокина, то форматирование всё равно должно произвестись. Файл примера прилагаю. Заранее спасибо за любые советы и помощь!
 
Здравствуйте. На мой взгляд, нужен макрос VBA, который будет сравнивать колонки (но не условное формирование, а текст содержит)
Например код ниже
Код
Sub Highlight_matches()

    Dim ws As Worksheet
    Dim lastA As Long, lastE As Long
    Dim i As Long, j As Long
    Dim nameE As String
    Dim textA As String
    
    Set ws = ActiveSheet
    
    ' Последние строки в столбцах A и E
    lastA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastE = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
    
    ' Проходим по каждому имени в столбце E
    For i = 1 To lastE
        
        nameE = Trim(ws.Cells(i, "E").Value)
        If nameE <> "" Then
            
            ' Ищем имя в столбце A
            For j = 1 To lastA
                
                textA = ws.Cells(j, "A").Text   ' .Text — важно для объединённых ячеек
                
                If textA <> "" Then
                    ' Проверяем вхождение имени
                    If InStr(1, textA, nameE, vbTextCompare) > 0 Then
                        ws.Cells(i, "E").Interior.Color = RGB(255, 255, 0) ' Жёлтая подсветка
                        Exit For
                    End If
                End If
                
            Next j
            
        End If
        
    Next i

End Sub
Изменено: Tomash - 02.08.2026 22:29:04 (Добавил код макроса)
 
Здравствуйте.
Попробуйте УФ для А1
Код
=СУММПРОИЗВ(СЧЁТЕСЛИ(A1;"*"&$E$1:$E$9&"*"))

Не досмотрел в телефоне. Нужно для столбца Е, Для диапазона E1:E9 так,

Код
=СЧЁТЕСЛИ(A:A;"*"&E1&"*") 

Или чтобы пустые не подсвечивать, так

Код
=СЧЁТЕСЛИ(A:A;"*"&E1&"*")*(E1>0)
Изменено: gling - 02.08.2026 21:22:09
Страницы: 1
Читают тему
Наверх