получить результаты index и match и вернуть первое совпадение в первый столбец, второе совпадение во второй столбец и т. д. - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю систему начисления очков в excel.

У меня есть база данных детей с назначенным каждому из них штрих-кодом.У меня есть база данных с назначенным каждому из них штрих-кодом.

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

Я застрял при добавлении баллов, которые они сканируют, к своему аккаунту.

Я пытался использовать это после ArrayFormula, но лист стал медленным

=ArrayFormula(iferror(index('kids Scanning Page'!$H:$H,small(if($A2='kids Scanning Page'!$C:$C,row('kids Scanning Page'!$C:$C),""),sum(1)))))

Я пытался использовать этот индекс и совпадать с формулой

=INDEX('kids Scanning Page'!$I:$I,MATCH($A$2,'kids Scanning Page'!$D:$D,0))

, но это только дает мне первое совпадение

Может кто-нибудь предложить мне, что я могу сделать, чтобы решить мою проблему?

следующее, чтобы понять мои формулы

kids Scanning Page'!$H:$H = the points the kid got for all transaction 
$a2 = the database of the kid's barcode 
kids Scanning Page'!$C:$C = unique id for each barcode transaction 
kids Scanning Page'!$I:$I = the points the kid got for this transaction 
kids Scanning Page'!$D:$D = the column were the kids can scan their barcodes 

1 Ответ

1 голос
/ 25 июня 2019

Ну, во-первых, я думаю, это вспомогательный столбец, посмотрите эту ссылку

Если у помощника нет опций, то, по крайней мере, не используйте формулы массива с целыми столбцами, что значительно замедляет процесс. Вместо этого используйте абсолютные диапазоны, например $A$2:$A$100 например. Или, если диапазон должен быть динамическим, используйте энергонезависимую опцию, чтобы перейти к последней использованной строке вместо всего столбца.

Так что вместо

MATCH(criteria,A:A....

Вы можете использовать, например:

MATCH(criteria,$A$1:INDEX(A:A,COUNTA(A:A))....

Или:

MATCH(criteria,$A$1:INDEX($A:$A,MATCH("ZZZ",$A:$A))....

Чтобы создать меньший диапазон для расчета по формуле массива.

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