Ram349 Ответов: 1

Как совместить значения двух столбцов


Всем Привет,
у меня есть небольшая проблема при сравнении двух значений
вот в Excel лист в
А Б
1 а
2 б

Здесь мой вопрос заключается в циклическом переборе столбцов A и B, если значение столбца равно 1,мне нужно найти значение столбца B-это a, если значение столбца равно 2, чтобы найти значение столбца B-это b, как мне нужно найти.
Любой человек может, пожалуйста, поделиться со мной соответствующей информацией.

1 Ответов

Рейтинг:
1

CHill60

Ты либо хочешь этого петля через определенный диапазон[^] или (гораздо более вероятно!) использовать ВПР[^]

[РЕДАКТИРОВАТЬ]
Например если вы знаете что вы хотите посмотреть вы можете использовать эту функцию

Function GetData(lookupValue) As String
'lookupValue is passed in and is the thing that references the row
'I'm looking for e.g. from your data "1"

    'This defines the "table" that I'm looking things up in
    Dim LookUpRange As Range
    Set LookUpRange = Sheets("Lookup").Range("A1:B10")

    'This is where the data I want can be found RELATIVE to the lookupValue column
    'i.e. if I'm looking up something in Column A and the data is in Column B then this will be 2
    'it will also be 2 if I'm looking something up in Column E and the data I want is in column F
    Dim LookupColumn As Integer
    LookupColumn = 2

    Dim returnValue As String
    
    On Error Resume Next    'This is horrible but so is VLookup
    returnValue = WorksheetFunction.VLookup(lookupValue, LookUpRange, LookupColumn, False)
    On Error GoTo 0


    GetData = returnValue

End Function
который вы могли бы назвать как
strImage = GetData(1)

Однако если вы хотите перебрать все свои данные, то можете использовать что-то вроде кода в этом разделе
Sub StepThrough()
    
    Dim StepRange As Range
    Set StepRange = Sheets("Lookup").Range("A1:A10")
    'Note this range is a single column

    Dim aCell As Range
    
    For Each aCell In StepRange
        Debug.Print aCell.Value2, aCell.Offset(columnOffset:=1).Value2
    Next

End Sub


Ram349

Привет холод,Спасибо за ответ на мой пост,мне нужно сравнить два значения столбцов, если первый столбец я получаю 1, но как я могу найти второй столбец B значение
не могли бы Вы поделиться со мной какой-либо связанной информацией?

CHill60

Неужели vlookup не работает? Поделитесь кодом, который вы использовали

Ram349

Дим ГСЧ в диапазоне
Установите rng = Worksheets("Поиск").Диапазон("E3", "E637")
Для каждой ячейки в ГСЧ
MyFunction (клетка)
If (S = ячейка) Затем
Dim strShapeName1 как строка

strShapeName1 = rngLookup.Строки(I).Столбцы(2).Значение
в этом мне нужно найти значение второго столбца

CHill60

Этот код вообще ничего не делает.
Давайте начнем с самого начала...Это хорошее описание того, что вы пытаетесь сделать?...
У вас есть что-то, что вы хотите найти в столбце A (например, из ваших данных "2"), и вы хотите вернуть значение, которое находится в столбце B (из ваших данных "b"), и это будет функция, которую вы вызываете

Ram349

я также получаю значение vllokup

CHill60

Я обновил свое решение с помощью нескольких примеров