![](https://cdn.wiki-base.com/1752518/excel_formula_display_sorted_values_with_helper_column__2.png.webp)
Загальна формула
=INDEX(sata,MATCH(ROWS(exp_rng),sort,0))
Резюме
Для отримання та відображення значень, відсортованих за допоміжним стовпчиком, ви можете використовувати формулу INDEX і MATCH, з невеликою допомогою функції ROWS. У наведеному прикладі формула в F5 має вигляд:
=INDEX(sales,MATCH(ROWS($D$5:$D5),sort,0))
який відображає перший елемент, виходячи з індексу, вказаного в допоміжному стовпці. Той самий підхід використовується для відображення пов'язаних продажів у стовпці G. Для зручності аркуш містить такі іменовані діапазони: item = B5: B11, sales = C5: C11, sort = D5: D11.
Пояснення
Ця формула відповідає на допоміжний стовпець, який уже містить послідовний список чисел, що представляє встановлений порядок сортування. Числа у допоміжному стовпці не залежать від дії цієї формули. Поки послідовність є безперервною, вона може представляти зростаючий або спадаючий сорт або навіть довільний сорт. У більшості випадків значення надходять із формули.
По суті, це проста формула INDEX і MATCH, де INDEX отримує значення на основі вказаного номера рядка:
=INDEX(item,row)
Фокус у тому, що рядок обчислюється за допомогою функції MATCH на основі значень у стовпці сортування:
MATCH(ROWS($D$5:$D5),sort,0)
Значення підстановки у збігу генерується за допомогою функції ROWS та розширюваного посилання. У рядку 5 аркуша діапазон включає одну клітинку, а ROWS повертає 1. У рядку 6 діапазон включає дві комірки, а ROWS повертає 2 тощо.
Масив має іменований діапазон "сортування" (D5: D11). У кожному рядку MATCH визначає значення підстановки та повертає позицію номера цього рядка у вихідних даних.
Оскільки ми хочемо точну відповідність, третій аргумент, тип відповідності, подається як нуль.
Значення, яке повертає MATCH, надходить у функцію INDEX як номер рядка, а INDEX повертає елемент у цій позиції у вихідних даних.