получить заголовок столбца из строки максимального значения - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть две таблицы, одна из которых содержит базу данных (лист 1), а другая (лист2). Я бы хотел получить заголовок столбца, который содержит максимальное значение между строками, учитывая определенный идентификатор.

Лист 1:

       A        B       C        D         E
   1  ID       2020    2021      2022      2023
   2  N-16     0,00    1550,00   1750,00   2200,00  
   3  N-23     0,00    0,00      0,00      20010,00
   4  N-53    100,00   60,00     20,00     80,00

Лист 2:

       A         B           C                 
   1  ID       Max Value    Year
   2  N-53     100,00       
   3  N-16     2200,00      
   4  N-23     20010,00     

Но это должно выглядеть так:

       A         B           C                 
   1  ID       Max Value    Year
   2  N-53     100,00       2020
   3  N-16     2200,00      2023
   4  N-23     20010,00     2023

Я не могу показатьсяукажите год в столбце C, если только я не знаю, какой строке соответствует идентификатор из листа sheet2.Поскольку эта база данных постоянно обновляется, идентификаторы располагаются в случайном порядке.

=INDEX(Sheet1!$B$1:$E$1;MATCH(MAX(INDEX((Sheet1!$A$2:$A$4=$A2)*Sheet1!$B$2:$E$4;0));Sheet1!$A$4:$E$4;0))

Есть ли способ изменить последнюю часть формулы для поиска каждой строки на sheet1, найти соответствующий идентификатор изsheet2, найдите строку с соответствующим идентификатором на sheet1 и найдите Max Value, а затем верните заголовок с соответствующим годом?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вы можете использовать эту формулу массива:
{=INDEX($B$1:$E$1;1;MATCH(MAX(INDEX(($A$2:$A$4=$A13)*$B$2:$E$4;0));OFFSET($B$2:$E$4;MATCH(A13;$A$2:$A$4;0)-1;0;1;);0))}

Я сохранил большую часть вашей формулы, но массив поиска для вашего MATCH рассчитывается с помощью функции OFFSET.Это также будет работать, когда идентификаторы не отсортированы.
Я поместил все данные на одном листе для тестирования, поэтому вам просто нужно изменить ссылки.

0 голосов
/ 22 ноября 2018

Я не разделил на две страницы, но метод должен быть аналогом того, что вы хотите.Я изменил формулы в соответствии с вашим предложением.

=MAX(INDEX($B$2:$E$4;MATCH(A8;$A$2:$A$4;0);0))

enter image description here

=INDEX($B$1:$E$1;MATCH(B8;INDEX($B$2:$E$4;MATCH(A8;$A$2:$A$4;0););0))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...