Ошибка преобразования формулы SUMPRODUCT в INDEX + MATCH - PullRequest
0 голосов
/ 21 мая 2019

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

Я хочу, чтобы формулы в ячейках Sheet2!E4:E7 делали то же, что формулы в Sheet2!E10:E13.

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

Я не привык использовать INDEX+MATCH или преобразовывать формулы SUMPRODUCT в INDEX+MATCH. Что я не могу пройти, так это формулы в клетках Sheet2!E4:E7. Если вы оцениваете формулу, вы можете увидеть, что раздел INDEX+MATCH в левой части формулы работает правильно, а затем почти идентичный раздел INDEX+MATCH в правой части будет равен 0 без видимой причины.

Формула, с которой у меня проблемы, находится в ячейке Sheet2!E4:

COUNTIF(INDEX(Sheet1!$A$2:$AZ$314,,MATCH($B4,Sheet1!$A$1:$AZ$1,0)),">"&(INDEX(Sheet1!$A$2:$AZ$314,,MATCH($B4,Sheet1!$A$1:$AZ$1,0)+1)))

Сечение слева от ">" будет соответствовать правильному диапазону (Sheet1!B2:B314), однако сечение справа от ">" оценивается как 0 вместо Sheet1!C2:C314.

Это странно для меня, потому что единственное реальное различие между двумя секциями - это '+1' в конце функции MATCH, и добавление '+1' в секцию слева от ">" производит ожидаемый результат для функции MATCH (Sheet1!C2:C314), как видно из вычисления формулы в ячейке Sheet2!E5.

Формула, которая дает правильный результат, находится в ячейке Sheet2!E10:

SUMPRODUCT(--(ISNUMBER(Sheet1!$B$2:$B$313)),--(Sheet1!$B$2:$B$313<Sheet1!$C$2:$C$313),--(Sheet1!$B$2:$B$313>=Sheet1!$C$2:$C$313*0.9))

Я понимаю, что если я исключу '$' перед ссылками на столбцы, любые будущие добавления / вычитания к столбцам на Sheet1 будут соответствующим образом корректировать ссылки. Это решение не является идеальным, поскольку существует несколько таблиц данных (по одному на каждый год), в которых все столбцы различны (Dan - столбец F для 2019 года, G для 2018 года, M для 2017 года и т. Д.), и таблицы, использующие эти таблицы, составлены таким образом, чтобы я не мог легко иметь возможность автоматически обновлять формулы, поэтому предпочтительным является решение, которое находит правильный столбец с использованием имени сотрудника.

Правильный результат должен быть 2 для Аллена и 3 для Торреса, но я могу только получить формулы INDEX+MATCH, чтобы вернуть 0, 12, 15, 16 или 17 (в зависимости от того, какие изменения я делаю в формуле ).

Любая помощь с этим будет принята с благодарностью.

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете попробовать это: ФОРМУЛА Массива CTRL + SHIFT + ENTER

=SUM(IF(ISNUMBER(INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0))),INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0))<INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)+1):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0)+1)*(INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0))>=INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)+1):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0)+1)*0.9))*1)

и адаптируйте диапазоны к вашим потребностям. Он заносится в тот же лист, что и данные.

В основном этот подход использует ФОРМУЛА Массива CTRL + SHIFT + ENTER

INDEX($A$1:$E$30,2,MATCH(G9,$A$1:$E$1,0)):INDEX($A$1:$E$30,30,MATCH(G9,$A$1:$E$1,0)))

, чтобы получить необходимые диапазоны. MATCH ищет правую колонку. номер строки может быть установлен по необходимости, здесь он от 2 до 30, адаптированный к предоставленным вами данным. Мой поисковый термин в этом случае в G9 с Алленом в качестве содержания. Результат формулы $B$2:$B$30. A +1 после Match дает другой диапазон $C$2:$C$30. Оба диапазона могут быть затем оценены с необходимыми условиями

Потяните его вниз и предоставьте Торресу G10. Тогда диапазоны будут адаптированы к $D$2:$D$30 и $E$2:$E$30.

enter image description here

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