Знайдіть діапазон клітин з 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.