Индекс с двойным соответствием возвращает неверные ближайшие значения - PullRequest
0 голосов
/ 25 сентября 2018

У меня экспортировано планирование в Excel, которое выглядит следующим образом (вкладка «Данные»): Example

На каждой производственной линии работает несколько человек.Теперь моя цель показать, сколько людей работает на линии в минуту.Мы планируем по группам продуктов, и несколько групп продуктов объединяются в форму, которую должна делать линия в минуту.

Чтобы получить производительность в минуту, я создал следующее (вкладка «Конверсия»): enter image description here

=INDEX(Data!$H$2:$H$157;MATCH($N$1&A4;Data!$B$2:$B$157&Data!$C$2:$C$157;1))

В примере это работает правильно.Тем не менее, формула, похоже, не всегда возвращает правильный «Artikelomschrijving» (H) каждый раз.Я получаю неправильные возвращаемые значения, когда расширяю эту формулу на другие группы продуктов.

Я прочитал, что данные должны быть отсортированы по возрастанию, потому что я использую match_type 1. Когда я это делаю, я получаю правильные значения возврата для некоторых групп продуктов, но данный пример неожиданно возвращает неверные значения.

Я не могу отсортировать столбцы C и A в порядке возрастания, чтобы формулы всегда возвращали правильные элементы.Можете ли вы помочь мне преодолеть это препятствие?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Я нашел решение, спасибо, что указал мне правильное направление Валон Миллер.Это формула, я исправил это с помощью:

 =ALS.FOUT(INDEX(Data!$H$2:$H$154;MATCH(1;(Conversie!L$1=Data!$B$2:$B$154)*((Conversie!$A32>=Data!$C$2:$C$154)*(Conversie!$A32<=Data!$D$2:$D$154));0));"")
0 голосов
/ 25 сентября 2018

После небольшой работы Google Translate, если я правильно понимаю ваш вопрос, вам нужно найти «Описание элемента» (H) записи, где «Линия» (B) = значение в N1 ивремя находится между временем начала и окончания.

Это формула массива, вы должны подтвердить ее с помощью Ctrl+Shift+Enter

=INDEX(Data!$H$2:$H$157,MATCH(1,(Data!$B$2:$B$157=$N$1)*(Data!$C$2:$C$157<$A2)*(Data!$D$2:$D$157>=$A2),0))

ИЛИ с синтаксисом точки с запятой:

=INDEX(Data!$H$2:$H$157;MATCH(1;(Data!$B$2:$B$157=$N$1)*(Data!$C$2:$C$157<$A2)*(Data!$D$2:$D$157>=$A2);0))

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