2016-12-01 2 views
1

Во-первых, я знаю, что могу сделать это с помощью некоторых VBA, но я не хочу этого делать. Был поиск в Интернете, но еще не пришел к этому решению.Индекс динамической колонки как параметр

Таким образом, в Excel я использую ВПР-функцию (я думаю, первенствует не на английском языке), как так:

=LETARAD("key";A2:E65;5;0) 

Это прекрасно работает.

Теперь я хочу, чтобы динамика columnpart была основана на возвращаемой функции workdate. Что-то вроде этого:

=LETARAD("key";ColumnIndex(WorkDay("2016-11-30")*7)2:ColumnIndex(WorkDay("2016-11-30")*7)65;5;0) 

Хотя я не могу этого достичь. Кто-нибудь получил какие-либо предложения? :) Обновление

Решение:

Это упрощенная версия моего решения. Скажем, у меня есть на следующие excelsheet:

<table border="1"> 
 
    <tr><td></td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td></tr> 
 
    <tr><td>1</td><td>Keys1</td><td>Val</td><td></td><td>Keys2</td><td>Val</td></tr> 
 
    <tr><td>2</td><td>1a</td><td>-5</td><td></td><td>2a</td><td>-3</td></tr> 
 
    <tr><td>3</td><td>1b</td><td>-16</td><td></td><td>2b</td><td>82</td></tr> 
 
    <tr><td>4</td><td>1b</td><td>-19</td><td></td><td>2c</td><td>18</td></tr> 
 
</table>

Используя следующую функцию можно извлечь значения, которые я хочу.

=VLOOKUP("key";INDEX(A2:E4;1;1+((WEEKDAY("2016-11-28")-1)*3)):INDEX(A2:E4;3;2+((WEEKDAY("2016-11-28")-1)*3));2;0) 

Если ключ и будний день, конечно, динамичны, и каждый рабочий день имеет определенное количество ключей. Лист показывает только 2 дня. Thx!

ответ

1

В английском языке, вы можете ссылаться на один столбец, используя функцию INDEX, так

=INDEX(A1:C100,,3) 

Ссылки C1:C100

Поэтому что-то, как это будет работать:

=VLOOKUP("Key",INDEX(A1:C100,,3),5,0) 

Чтобы изменить столбца каждый раз, вам просто нужно будет сделать 3 динамическим

примечание: вам нужно будет изменить , к ; в этом примере

+0

= LETARAD ("ключ"; INDEX ("A2: E65" ;; 3); 5; 0), к сожалению, дает мне ошибку значение , – user3532232

+0

Извините - это моя вина на самом деле. Удалите речевые метки в функции 'INDEX' - я обновил ответ – CallumDA

+0

Спасибо Callum! Выяснилось это через некоторое время:) – user3532232

Смежные вопросы