Зміст
Робота з великою кількістю даних призводить до отримання декількох результатів. В Excel є дуже зручний спосіб вилучення декількох результатів. У цій статті ми покажемо вам, як використовувати функцію INDEX-MATCH формула в Excel для отримання декількох результатів.
Завантажити шаблон практики
Ви можете завантажити безкоштовний шаблон для тренувань в Excel за посиланням і потренуватися самостійно.
INDEX MATCH Multiple Results.xlsx4 корисних способи спільного використання функцій ІНДЕКС і СРЗНАЧ для вилучення декількох результатів в Excel
У цьому розділі буде детально розглянуто використання функція INDEX і функція MATCH разом в Excel для отримання декількох результатів.
1. Знаходження декількох результатів у масиві за допомогою формули INDEX MATCH в Excel
Розглянемо наступний набір даних, в якому ми хотіли знайти різні оцінки студентів на різних іспитах.
Ми можемо отримати це, запустивши INDEX-MATCH в нашому робочому аркуші.
Дії на знаходження декількох результатів у множині масиву з використанням INDEX-MATCH функції наведені нижче.
Сходинки:
- Виберіть назву з набору даних ( B5:B11 ), а ім'я помістіть в іншу комірку, щоб потім використовувати номер комірки (наприклад, ім'я Villiers в Комірка G4 ).
- В іншій комірці, яку ви хочете використовувати як комірку результату (наприклад Осередок G7 ), запишемо наступну формулу,
=INDEX($C$5:$C$11,SMALL(IF(ISUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11,ROW($B$5:$B$11)),""),ROWS($A$1:A1)))
Ось,
C$5:C$11 = масив для пошуку шуканого значення
$B$5:$B$11 = масив, в якому знаходиться шукане значення
- Преса Увійдіть .
Ви помітите, що результат для даних (наприклад Villiers ), яку ви помістили у виділену комірку ( G4 ), з'явиться в комірці результату (наприклад 65 в G7 ).
- Тепер перетягніть рядок вниз на Ручка наповнення щоб отримати решту результатів з тим самим значенням пошуку.
Оскільки цей процес не є постійним для будь-якого конкретного значення, ви можете вибрати будь-які дані для пошуку у вибраній комірці (наприклад G4 ) і результат для цих конкретних даних буде автоматично оновлюватися в комірці результату (наприклад G7 ).
Щоб зрозуміти більше, дивіться gif-файл нижче.
Розбивка формули:
Давайте розберемо формулу, щоб зрозуміти, як ми отримали результат.
- MATCH($B$5:$B$11, $G$4, 0) стає,
-> -> -> -> -> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis" }, "Villiers", 0)
-> -> -> -> -> Виходьте: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}
Пояснення: Якщо шукане значення знаходить співпадіння в масиві пошуку, то виконується оператор МАТЧ функція повертає 1 інакше повертається #N/A .
- ISUMBER(MATCH($B$5:$B$11, $G$4, 0) стає,
-> -> -> -> -> ISUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})
-> -> -> -> -> Вихідні дані: {FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.
Пояснення: Як Функція IF не вміє обробляти значення помилок, тому Функція ЧИСЛО використовується для перетворення значень масиву в булеві значення.
- IF(ISUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11, ROW($B$5:$B$11)), "") стає,
-> -> -> -> -> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")
стає
-> -> -> -> -> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")
-> -> -> -> -> Вихідні дані: {""; ""; ""; 4; ""; 6}
Пояснення: По-перше, це стосується ЯКЩО Функція перетворює булеві значення в номери рядків та пропуски. Пізніше функція МАТЧ і Функція ROW s обчислити масив послідовних чисел від 1 до n, де n - остання числова тотожність загального розміру діапазону комірок. $B$5:$B$11 має 7 значень, тому масив набуває вигляду {1; 2; 3; 4; 5; 6; 7} .
- SMALL(IF(ISUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11, ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) стає
-> -> -> -> -> SMALL({""; ""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))
-> -> -> -> -> SMALL({""; ""; ""; 4; ""; 6}, 1)
-> -> -> -> -> Вихід: 4
Пояснення: По-перше, Функція SMALL визначає, яке значення потрібно отримати на основі номера рядка. Далі виконується функція Ряди Функція повертає число, яке змінюється кожен раз, коли комірка копіюється і вставляється в наступні комірки. Спочатку вона повертала 4 згідно з нашим набором даних. У наступній комірці нижче, ROWS($A$1:A1) зміни до ROWS($A$1:A2) та повернення 6 .
- INDEX($C$5:$C$11, SMALL(IF(ISUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11, ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) стає
-> -> -> -> -> INDEX($C$5:$C$11, 4)
-> -> -> -> -> Вихід: 65
Пояснення: На сьогоднішній день, на жаль, це не так. ІНДЕКС повертає значення з заданого масиву на основі номера рядка та стовпця. 4-й значення в масиві C$5:C$11 це 65 тож, якщо ви хочете, щоб я ІНДЕКС функція повертає 65 в камері G7 .
Читати далі: ЕСЛИ з ІНДЕКС-СПІВПАДІННЯ в Excel (3 підходи)
2. знайти кілька результатів назви та дати майбутньої події за допомогою формули INDEX MATCH в Excel
Іноді ми забуваємо про дати важливих подій, і тоді на допомогу приходить ЗБІГ ІНДЕКСІВ функції працюють рятувальники.
Нижче наведено вибірку даних, де ми хотіли дізнатися про майбутній день народження серед наших друзів.
Отже, ми зробили наступне: впровадили ЗБІГ ІНДЕКСІВ формула, за якою можна дізнатися, у кого наступний день народження і коли це буде.
Отже, формула для того, щоб дізнатися ім'я людини або назву майбутньої події, є такою,
=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)
А формула, за якою можна дізнатися дату майбутньої події, така,
=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)
Розбивка формули:
Давайте розберемо формулу, щоб зрозуміти, як ми дізналися ім'я Алекс і дату його народження.
- MATCH(F5,$C$5:$C$9,1)
-> -> -> -> -> Вихід: 4
Пояснення: На сьогоднішній день, на жаль, це не так. МАТЧ Функція знаходить позицію шуканого значення ( Комірка F5 = Четвер, 11 листопада 2021 року ) в константі масиву ( 5:9. = перелік дат ).
У цьому прикладі нам не потрібен точний збіг, нам потрібен МАТЧ щоб повернути приблизний збіг, тому ми встановили третій аргумент рівним 1 (або ПРАВДА ).
- INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) стає
-> -> -> -> -> INDEX($B$5:$B$9, 4) +1)
-> -> -> -> -> Вихідні дані: Алекс /(назва заходу)
Пояснення: На сьогоднішній день, на жаль, це не так. ІНДЕКС Функція отримує два аргументи і повертає конкретне значення в одновимірному діапазоні. Тут діапазон $5:$9 це спочатку аргумент і результат, який ми отримали з розрахунків у попередньому розділі (MATCH(F5,$C$5:$C$9,1)) позиція 4 Це означає, що ми шукаємо значення, яке знаходиться в позиції 4 в $5:$9 діапазону.
І,
- INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) стає
-> -> -> -> -> INDEX($B$5:$B$9, 4) +1)
-> -> -> -> -> Вихід: вівторок, 7 грудня 2021 року
Пояснення: На сьогоднішній день, на жаль, це не так. ІНДЕКС Функція отримує два аргументи і повертає конкретне значення в одновимірному діапазоні. Тут діапазон 5:9. це спочатку аргумент і результат, який ми отримали з розрахунків у попередньому розділі (MATCH(F5,$C$5:$C$9,1)) позиція 4 Це означає, що ми шукаємо значення, яке знаходиться в позиції 4 в 5:9. діапазону.
Щоб отримати дату майбутньої події, ми просто додали одиницю до позиції комірки, що повертається функцією МАТЧ і вона видала нам позицію комірки з датою наступної події.
Читати далі: Формула INDEX-MATCH в Excel для повернення декількох значень по горизонталі
Схожі читання
- Співставлення декількох критеріїв за допомогою підстановочного знаку в Excel (повне керівництво)
- [Виправлено!] Співставлення індексів не повертає коректне значення в Excel (5 причин)
- Як використовувати ІНДЕКСНИЙ СПІВПАДАННЯ замість ВПЛИВУ в Excel (3 способи)
- ІНДЕКС+СПІВПАДАННЯ з повторюваними значеннями в Excel (3 швидких способу)
- Як виділити певні дані в Excel (6 способів)
3. генерування декількох результатів в окремі стовпці за допомогою формули INDEX MATCH в Excel
Досі ми отримували результати по рядках. Але що робити, якщо ви хочете отримати результати в окремі колонки .
Розглянемо наступний набір даних, який складається з трьох типів професій, що представляють декілька імен людей.
Ми хотіли зробити групу людей за професією і хотіли розмістити прізвища по стовпчику відповідно до своєї професії.
Щоб витягти кілька результатів збігів в окремі клітинки в окремих стовпчиках, ви можете зробити невеликий трюк з командою ІНДЕКС функцію.
Давайте дізнаємося, як витягти кілька результатів збігу в декількох стовпцях в Excel за допомогою комбінації ІНДЕКС функції та інші.
Сходинки:
- Виберіть професію з діапазону даних ( B5:B11 ) і перенести дані в іншу комірку, щоб потім використати номер комірки (наприклад, професія Крикетист в Клітинка E5 ).
- В іншій комірці, яку ви хочете використовувати як комірку результату (наприклад Комірка F5 ), запишемо наступну формулу,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")
Ось,
C$5:C$11 = масив для пошуку шуканого значення
$B$5:$B$11 = масив, в якому знаходиться шукане значення
- Преса Увійдіть .
Ви помітите, що результат для даних (наприклад Крикетисти ), яку ви помістили у виділену комірку ( E5 ), з'явиться в комірці результату (наприклад Flintoff в Комірка F5 ).
- Тепер перетягніть рядок навколо за допомогою Ручка наповнення щоб отримати решту результатів того самого значення пошуку в окремих кількох стовпчиках.
- Знову перетягніть рядок навколо на Ручка наповнення щоб отримати решту результатів за іншими значеннями пошуку (наприклад Футболіст, борець ) в окремі кілька колонок.
Розбивка формули:
Давайте розберемо формулу, щоб зрозуміти, як ми отримали результат.
- SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))
З попередньої дискусії ми вже знаємо, як МАЛИЙ, ЯКЩО і ROW працюють разом, і ми використовуємо цей трюк і тут для генерації номера рядка, що відповідає N-му збігу. Отримавши номер рядка, ми просто передаємо його в функцію ІНДЕКС функція, яка повертає значення в цьому рядку.
-> -> -> -> -> Виходьте: ( як на малюнку нижче )
- INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))) -> передача номерів рядків в ІНДЕКС щоб отримати значення для відповідних номерів рядків.
-> -> -> -> -> Виходьте: ( як на малюнку нижче )
- IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"") -> зверніть увагу, що коли стовпці повертають значення, яке не існує, то виникає виключення #NUM Щоб запобігти помилці, обернемо всю формулу з функція IFERROR відловлювати помилки і встановлювати порожній рядок ("") у відповідь.
-> -> -> -> -> Виходьте: ( як на малюнку нижче )
Читати далі: Співставлення індексів Excel для повернення декількох значень в одній комірці
4. Витяг декількох результатів в окремі рядки за допомогою функцій ПІДТВЕРДЖЕННЯ ІНДЕКСУ в Excel
Якщо вам цікаво, як витягти кілька результатів у кілька рядків так само, як ми це робили в попередньому розділі, то формула така,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")
А всі інші деталі, такі як Кроки та Розбивка формули, є такими ж, як і в розділі 3.
Ключові моменти, які слід мати на увазі
- Оскільки діапазон масиву таблиці даних для пошуку значення фіксований, то не забудьте поставити ознаку долар ($) знак перед номером посилання на комірку таблиці масиву.
- При роботі зі значеннями масиву не забувайте натискати Ctrl + Shift + Enter на клавіатурі під час вилучення результатів. Натискання тільки Увійдіть буде працювати тільки тоді, коли ви використовуєте Microsoft 365 .
- Після натискання Ctrl + Shift + Enter ви помітите, що рядок формул, укладений у формулу в фігурні дужки {} оголошуючи його як формулу масиву. Не вводьте ці дужки {} самостійно, Excel автоматично зробить це за вас.
Висновок
У цій статті детально пояснюється, як користуватися ЗБІГ ІНДЕКСІВ функції для вилучення декількох результатів в Excel. Сподіваюся, ця стаття була дуже корисною для вас. Не соромтеся запитувати, якщо у вас виникнуть питання по темі.