Во-первых, я знаю, что могу сделать это с помощью некоторых 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!
= LETARAD ("ключ"; INDEX ("A2: E65" ;; 3); 5; 0), к сожалению, дает мне ошибку значение , – user3532232
Извините - это моя вина на самом деле. Удалите речевые метки в функции 'INDEX' - я обновил ответ – CallumDA
Спасибо Callum! Выяснилось это через некоторое время:) – user3532232