Двумерный поиск с VLOOKUP и MATCH - PullRequest
0 голосов
/ 03 мая 2020

У меня проблема с формулой в VBA. Я представлю это шаг за шагом, чтобы быть понятным для каждого из вас: 1. У меня есть список политик на листе 1 (как представлено ниже, около 20 000 строк)

enter image description here

На втором листе у меня есть список тарифов, представленных под кодами AD:

enter image description here

Я хочу создать для каждой политики из лист1 в листе 2, где - один код «C» (пример для первой политики в листе 1), код для политики в листе 1, а также на основе кода, сгенерированного из листа 1 (наш случай для первой политики »C ") цены представлены в том же листе2 в левой части. Для этого я пытался кодировать формулу de excel

=VLOOKUP(A2,A:C,MATCH(G1,B2:D2,0),FALSE)

на VBA и получаю следующий результат:

Table.Cells(age, 21).Value = WorksheetFunction.VLookup(Table.Range("A" & age), Table.Range("A:M"), WorksheetFunction.Match(q_table, Table.Range("B3:M3"), 0), False)

Однако эта формула (Excel one, а также VBA) не возвращает ставки из правильного кода (код дела нашей первой политики "C"), а также ставки из предыдущего столбца, соответственно из кода "B".

Подскажите, пожалуйста, как мне управлять правильно? Спасибо

@ jamheadart сказал мне попробовать версию VLOOKUP (A2, A: C, MATCH (G1, B2: D2,0) + 1, FALSE) в VBA. Кажется, все в порядке.

...