Улучшить расчет времени для показа нескольких разных результатов исследования - PullRequest
0 голосов
/ 06 января 2020

enter image description here

Цель этого листа - показать все результаты (даже если они отличаются) в диапазоне D: D из электронной таблицы в A1: B11 с точным городом в D1.

Это моя формула в D2:

=SIERREUR(INDEX(B:B;PETITE.VALEUR(SI(ESTNUM(EQUIV(A:A;$D$1;0));EQUIV(LIGNE(A:A);LIGNE(A:A));"");LIGNES(($A$1:A1))));"")

Это работает хорошо, НО, когда я расширяю эту формулу для большого количества данных, моя книга становится очень очень медленной (такой медленно, что я не могу двигаться к листу и даже выделять ячейки). Мне нужно было установить метод расчета на «Ручной» для изменения листа.

Есть идеи, чтобы получить тот же результат, но с другим методом / способом?

1 Ответ

1 голос
/ 06 января 2020

Если у вас самая последняя версия с функцией FILTER (и с информацией о вашем городе / ранге в таблице ), вы можете использовать:

=FILTER(Table7[rank],Table7[City]=$D$1)

Кому сортировать по возрастанию, вы можете использовать новую функцию SORT:

=SORT(FILTER(Table7[rank],Table7[City]=$D$1))

Для тех, у кого более старые версии Excel, но с функцией AGGREGATE (, которая, я думаю, появилась в 2010 году (возможно, в 2007 году). ) ), вы можете использовать

Unsorted:  =IFERROR(INDEX(Table7[rank],AGGREGATE(15,6,1/(Table7[City]=$D$1)*(ROW(Table7)-ROW(Table1[#Headers])),ROWS($1:1))),"")

Sorted:  =IFERROR(AGGREGATE(15,6,1/(Table7[City]=$D$1)*Table7[rank],ROWS($1:1)),"")

enter image description here

...