2015-08-24 2 views
0

Я хочу найти конкретный текст, который является firstname_lastname, например John_Smith в worksheetA. WorksheetA имеет колонку firstname и другую колонку lastname. Поэтому, зная, какая строка имеет имя и фамилию, которые я искал, я хочу установить значение ячейки в той же строке с определенным значением.Искать два столбца в Microsoft excel 2013 и установить значение третьего столбца с определенным значением

Например, если это мой рабочий лист:

Firstname  Lastname  Found 
Matt   Damon  No 
Smith   Andrew  No 
John   Smith  No 
Tom   Mark   No 

и мой поиск слово John_Smith результат будет

Firstname  Lastname  Found 
Matt   Damon  No 
Smith   Andrew  No 
John   Smith  Yes 
Tom   Mark   No 

Любые советы, пожалуйста, как это можно сделать в VBA Excel?

ответ

1

Вот один пример, разделите строку на две отдельные строки. Затем пройдите по диапазону.

Набор до enter image description here

Кодекса

Sub Button1_Click() 
    Dim e As String, a As String, b As String 
    Dim Rws As Long, rng As Range, c As Range 

    Rws = Cells(Rows.Count, "A").End(xlUp).Row 
    Set rng = Range(Cells(2, 1), Cells(Rws, 1)) 

    e = Range("E1") 
    a = Left(e, InStr(e, "_") - 1) 
    b = Right(e, InStr(e, "_")) 

    For Each c In rng.Cells 
     If c = a And c.Offset(0, 1) = b Then c.Offset(0, 2) = "Yes" 
    Next c 

End Sub 

Результатом

enter image description here

1

Существует много способов сделать это. Поскольку вы, похоже, действительно хотите третий столбец, который на самом деле говорит «да»/«нет», это довольно просто. Предполагая, что условие поиска в Е2 [в виде FIRSTNAME_LASTNAME], просто поместить его в ячейку C2 и перетащить вниз:

=IF(A2&"_"&B2=$E$2,"Yes","No") 

Затем вы можете добавить новый столбец, который проверяет, является ли эта строка в столбце C = " Да ", и если да, добавьте там значение. Или замените «Да» на свое особое значение.

+0

Спасибо за ваш ответ. Но так или иначе, не затягивая? Поскольку я хочу это в каком-то поиске, тогда вставьте. – Tak

+0

@Tak Существует способ сделать это, не перетаскивая вниз, но тогда у вас не будет столбца, в котором говорится «Да»/«Нет» на каждой строке, что и требовался ваш вопрос. Что вы на самом деле хотите? –

+0

Я не хочу, чтобы он говорил «Да» или «Нет» в каждой строке, он просто поместит «да» в конкретный столбец этой строки, который соответствует запросу. – Tak