Формула Excel ИНДЕКС + АГРЕГАТ + ЗАКАЗ по другому столбцу - PullRequest
0 голосов
/ 04 октября 2019

У меня есть формула Excel, с которой мне нужна помощь, поскольку я не очень разбираюсь в Excel.

Формула следующая:

=IFERROR(INDEX(Liste!$C$2:$N$10000,AGGREGATE(15,6,(ROW(Liste!$A$2:$A$10000)-ROW(Liste!$A$2)+1)/ISNUMBER(SEARCH("BOX"," " & Liste!$B$2:$B$10000 & " ")),ROWS($A$4:$A4)),COLUMN()-1),"")

Эта формула выглядит по-другомулист ( Лист ) для строк, содержащих слово BOX в столбце B и отображающих их на "ROWS ($ D $ 4: $ D4)" (в данном случае) начиная со столбца "C".

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

Это работает отлично, единственная мысль, которую я не могу достичь (и я пробовал разные комбинации), это изменить этот код, чтобы он отображал результаты в порядке согласно столбцу "C" (не столбецB).

Пример данных:

Лист "Liste"

|-----------|----------|-----------|
|     B     |     C    |    D      | 
|-----------|----------|-----------|
|  NOTBOX   |     5    |   SAMPLE  | 
|    BOX    |     3    |   SAMPLE  | 
|    BOX    |     1    |   SAMPLE  | 
|    BOX    |     2    |   SAMPLE  | 
|  NOTBOX   |     4    |   SAMPLE  | 
|-----------|----------|-----------|

Текущий результат:

|-----------|----------|
|     A     |     B    |
|-----------|----------|
|     3     |  SAMPLE  |
|     1     |  SAMPLE  | 
|     2     |  SAMPLE  | 
|-----------|----------|

Желаемый результат:

|-----------|----------|
|     A     |     B    |
|-----------|----------|
|     1     |  SAMPLE  |
|     2     |  SAMPLE  | 
|     3     |  SAMPLE  | 
|-----------|----------|

Может кто-нибудь помочь мне?

Одна вещь, которую я забыл сказать, - мне нужно перетащить эту формулу (строки и столбцы), поэтому важно, чтобы я мог перетаскиватьэто в большой зоне (если строки будут добавлены в будущем) и что он игнорирует ошибки (пусто).

Заранее спасибо

1 Ответ

1 голос
/ 05 октября 2019

Вот пример того, как вы могли бы сделать это:

enter image description here

Формула в F2:

=SMALL(IF($A$2:$A$6=$E$2,$B$2:$B$6,""),ROW(A1))

Или по-французски

=PETITE.VALEUR(SI($A$2:$A$6=$E$2;$B$2:$B$6;"");LIGNE(A1))

Формула в G2:

=INDEX($C$2:$C$6,MATCH(F2,$B$2:$B$6,0))

Или по-французски

=INDEX($C$2:$C$6;EQUIV(F2;$B$2:$B$6;0))

Примечание: Первая формула является формулой массива и должна быть подтверждена с помощью Ctrl Shift Введите .


Перетащите их обоих вниз и включите IFERROR, если вы перетаскиваете эти формулы вниз, и вы не хотите видеть ошибки, если больше нет попаданий.

enter image description here

...