Знайдіть діапазон клітин з MATCH


0

Так що я знаю, що я можу зробити це з VBA, але я зацікавлений, якщо це можливо без ....

Скажімо, у мене є таблиця, подібна до цієї, з деякими фішками:

Page   |   Ticker
----------------------
1      |   UKX index
1      |   SPX index
2      |   usgg10yr index
3      |   cesiusd index
3      |   cesijpy index
3      |   gukgin10 index
4      |   GSPG10YR  Index

На окремому аркуші я маю номер сторінки, скажімо 1. Я хочу отримати всі тікери з таблиці вище, які відповідають номеру сторінки аркуша. Тому в основному фільтруйте таблицю, але покладіть результати в інший аркуш і залиште оригінальну таблицю незмінною.

Очевидно, що vlookup / index-match може зробити це, коли є тільки один номер сторінки, але мені потрібно, щоб він міг повернути кілька білетів для даного номера сторінки (наприклад, 2 для сторінки 1, 1 для сторінки 2, 3 для стор. 3 тощо)

Змінити

Lookup Value: 1

Tickers:
UKX index
SPX index

Таким чином, для прикладу вище, якщо б я просто використав vlookup / index-match, це дало б мені тільки "індекс UKX", оскільки це перший в списку. Я хочу метод, який повертає всі збіги.


Отже, ви хочете, щоб у цій таблиці «Основні» були всі посилання на робочий лист (сторінку) для згаданої інформації? Що таке керування даними "Core" таблиць? Звідки б потрапила інформація, яка буде заповнювати робочі листи "Secondary"?
— GoldBishop

Це звучить як зведені таблиці можуть бути добре підходять для вас. По суті, ви намагаєтеся запустити запит на дані, про що йдуть осьові таблиці.
— Stewbob

Звичайно, мені потрібно посилатися на клітинку на робочому аркуші, щоб надати значення пошуку. З pivottables потрібно встановити фільтри вручну

1
Якщо ви хочете, щоб уникнути робити вручну, як ви можете уникнути VBA? Зведені таблиці досить прості.
— Daniel

Так, я вважаю, що я повинен використовувати VBA. Мені було просто цікаво, чи існує простіший спосіб, як це зробити

Відповіді:


0

Я згоден з усіма вищенаведеними коментарями, але це можливо лише за допомогою формули масиву, якщо таблиця відсортована за сторінки. Формула нижче

=OFFSET(Table,MATCH(Page,PageList,0)-1,1,COUNTIF(PageList,Page),1)

Де:

  • Table це вся таблиця у вашому прикладі.
  • Page - це сторінка для фільтрації.
  • PageList є лише першим стовпцем Table.

0

Якщо сторінки знаходяться в A2: A100 і Tickers в B2: B100, то з певною сторінкою в D2 можна використовувати цю "формулу масиву" в D3

=IFERROR(INDEX(B$2:B$100,SMALL(IF(A$2:A$100=D2,ROW(A$2:A$100)-ROW(A$2)+1),ROWS(D$3:D3))),"")

підтвердіть за допомогою CTRL + SHIFT + ENTER та скопіюйте. Коли ви закінчуєте матчів, ви отримуєте пробіли

Для вищезгаданого я припустив, що все на одному аркуші для простоти, але та ж формула може бути використана для посилання на дані на іншому аркуші, додати імена листів, де це доречно. Не потрібні дані в будь-якому конкретному порядку

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.