Зміст
Змінні (такі як ціна товару, акції, процентна ставка тощо), що залежать від дат, викликають паніку у звичайних людей, оскільки їх ціни залежать від дат. ЗБІГ ІНДЕКСІВ діапазон дат за кількома критеріями може витягти ціни із заданого діапазону дат.
Припустимо, у нас є певна продукція, ціни на яку стабільні протягом певного періоду часу. І ми хочемо ЗБІГ ІНДЕКСІВ ціни за заданими критеріями.
У цій статті ми використовуємо кілька функцій для того, щоб ЗБІГ ІНДЕКСІВ діапазон дат за кількома критеріями.
Завантажити книгу Excel
Діапазон дат за кількома критеріями.xlsx3 простих способи використання INDEX MATCH для декількох критеріїв діапазону дат
Спосіб 1: Використання функцій ПІДІБРАТИ ІНДЕКС для декількох критеріїв діапазону дат
Ми хочемо отримати ціну на певний товар на певну дату. Припустимо, ми хочемо побачити ціну на Морозиво на 02-10-22 ( місяць-день-рік Якщо дана дата потрапляє між запропонованими проміжками часу, ми отримаємо ціну в будь-якій порожній комірці.
Сходинки: Вставте наступну формулу в будь-яку порожню комірку (тобто, I5 В якості формули у формулі масиву натисніть CTRL+SHIFT+ENTER Миттєво формула повертає значення Продукт ціна, якщо вона падає в даний період часу (тобто, Дата діапазону), як показано нижче.
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))
Формула розтину:
Excel ІНДЕКС знаходить значення заданого місця в заданому діапазоні. У нашому випадку ми використовуємо функцію МАТЧ функцію, індуковану за допомогою ІНДЕКС функцію. МАТЧ функція повертає свій результат у вигляді номер рядка для записів, які задовольняють заданим критеріям. Синтаксис запиту ІНДЕКС функція полягає в тому, щоб
INDEX(array, row_num, [col_num])
У формулі, $E$5$E$16 відноситься до масив аргумент. Усередині МАТЧ функція $B$5:$B$16=G5
, $D$5:$D$16>=H5
і $C$5:$C$16<=H5
Для кращої ідентифікації ми зафарбували відповідні діапазони в прямокутники.
На сьогоднішній день, на жаль, це не так. МАТЧ знаходить позицію заданого значення в рядку, стовпці або таблиці. Як ми вже говорили раніше, функція МАТЧ передається номер рядка для ІНДЕКС Синтаксис функції МАТЧ функція полягає в тому, щоб
MATCH (lookup_value, lookup_array, [match_type])
На сьогоднішній день, на жаль, це не так. МАТЧ частка становить
=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)
На сьогоднішній день, на жаль, це не так. МАТЧ призначення порцій 1 як lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)
як lookup_array і 0 заявляє про [match_type] (тип відповідності) як точний збіг.
Використані МАТЧ повернення формули 3 оскільки він знаходить Морозиво за номером рядка 3 .
У випадках, коли у нас є декілька продуктів, ми повинні витягти їх ціну з набору даних. Це виглядає приблизно так, як показано на малюнку нижче,
На сьогоднішній день, на жаль, це не так. ЗБІГ ІНДЕКСІВ комбіновані формульні вибірки Ціни В іншому випадку, якщо його аргументи задовольняють критеріям, це призводить до #N/A помилка, як показано на скріншоті вище.
Читати далі: Підбір індексів VBA на основі декількох критеріїв в Excel (3 способи)
Спосіб 2: Функція XLOOKUP для роботи з декількома критеріями
Подібно до Спосіб 1 ми можемо використовувати XLOOKUP функція (доступна тільки в Excel 365 ) до ЗБІГ ІНДЕКСІВ Синтаксис методу з декількома критеріями для діапазону дат. XLOOKUP функція полягає в тому, щоб
XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])
Сходинки: Використовуйте наступну формулу в комірці I5 а потім натиснути на кнопку. ENTER .
=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")
На сьогоднішній день, на жаль, це не так. XLOOKUP формула повертає релевантну ціну, яка задовольняє заданим критеріям (тобто, Продукт і Дата ), як показано на малюнку вище.
Формула розтину:
На сьогоднішній день, на жаль, це не так. XLOOKUP призначення 1 як його пошук аргумент, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5)
як lookup_array, $E$5:$E$16 як return_array Також у формулі виводиться Не знайдено текст у випадку, якщо записи не потрапляють в діапазон дат. Ми позначаємо присвоєні критерії кольоровими прямокутниками, як показано на наступному зображенні.
➤ Для декількох Продукти, Ви можете подати заявку на отримання XLOOKUP і виводить ціни, що відповідають заданим критеріям. Також формула виводить Не знайдено якщо задані критерії дати не розширюються в межах заданого діапазону дат.
Ви можете додати більше критеріїв, ніж використано у формулі. Для того, щоб дати прості та зрозумілі сценарії, було використано мінімум критеріїв.
Читати далі: XLOOKUP з декількома критеріями в Excel (4 простих способу)
Метод 3: Функції ІНДЕКС і СРЗНАЧ для вилучення волатильної ціни з діапазону дат
Ціни на деякі товари (наприклад, сиру нафту, валюту і т.д.) настільки мінливі, що коливаються протягом тижнів або навіть днів. У нас є ціни на певний товар за тижневий інтервал. Ми хочемо знайти ціну на задані дати. Щоб знайти ціну для заданого діапазону дат, ми можемо використовувати комбіновану функцію ІНДЕКС АГРЕГАТ Синтаксис функції АГРЕГАТ функція полягає в тому, щоб
AGGREGATE (function_num, options, ref1, ref2)
Сходинки: Введіть наступну формулу в будь-яку порожню комірку (тобто, E8 ).
=IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/)
((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")
На сьогоднішній день, на жаль, це не так. 1-й ціна на певний товар на певну дату 02-15-22 до 02-25-22 це $0.84 Там може бути 2-й або 3-й ціна доступна, але на перших порах ми дотримуємося 1-й один.
Формула розтину:
У формулі, =IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/)
((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")
;
AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)))
вказує номер рядка в ІНДЕКС функцію. C$5:C$13 це масив Аргумент про те, що ІНДЕКС функцію.
Усередині АГРЕГАТ формула,
(B$5:B$13>=F$4)*(B$5:B$13<=F$5)
прибутки 1 або 0 в залежності від того, чи потрапляють дати набору даних в діапазон чи ні.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))
повертає масив номерів рядків в залежності від відповідності критерію дати. В іншому випадку повертає значення помилки.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1
як ref1 повертає масив номерів рядків, перетворених в номери індексів, інакше в значення помилок.
ROWS(E$8:E8) як ref2 дає номер рядка, і це простий спосіб отримати номер рядка, застосовуючи формулу вниз.
Кількість 15 = функція_номер (тобто, МАЛИЙ ), 6 = варіанти (тобто, ігнорувати значення помилок Ви можете обрати функція_номер від 19 різні функції та Опції від 8 різні варіанти.
Нарешті, AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)))
проходить п'ятий найменший порядковий номер рядка, який задовольняє заданим критеріям.
На випадок, якщо виникне якась помилка, IFERROR(INDEX...),"")
ігнорує всі види помилок і перетворює їх на пропуски.
Перетягніть кнопку Ручка наповнення отримати інші відповідні ціни в межах діапазону дат критеріїв. ПОМИЛКА призводить до порожніх клітинок, якщо у формулі зустрічаються помилки.
Читати далі: Зведена таблиця з кількома критеріями, включаючи діапазон дат в Excel (2 способи)
Висновок
У цій статті ми продемонструємо кілька способів ЗБІГ ІНДЕКСІВ діапазон дат за кількома критеріями. Ми використовуємо такі функції, як ІНДЕКС , МАТЧ . XLOOKUP і АГРЕГАТ сформувати формули, за якими індексуються записи, що відповідають критеріям. Сподіваємось, наведені вище шляхи вирішення допоможуть Вам розібратися з Вашою ситуацією. Коментуйте, якщо у Вас виникли додаткові запитання або є що додати.