Как я могу отфильтровать свою таблицу с одного листа на другой лист по формуле? без формулы я могу просто скопировать ссылку на ячейки следующим образом:

=INDEX(MainSheet!A:A,ROW())

Затем отметьте диапазон как таблицу, затем отфильтруйте его по столбцу, а затем скройте столбец для удобства чтения. Это не похоже на решение для меня. Я хочу добиться этого, не скрывая столбцы / строки в фильтрованном листе.

Например, допустим, у меня есть 3 листа:

  • Основной лист
  • Лист 2
  • Лист 3

В моем листе "Main Sheet" у меня есть:

| ID    | Name      | Filter To
|-------------------------------
| 1     | Record 1  | Sheet 2
| 2     | Record 2  | Sheet 3
| 3     | Record 3  | Sheet 2
| 4     | Record 4  | Sheet 2
| 5     | Record 5  | Sheet 3

Далее я хочу захватить эти ячейки, отфильтровать их по формуле, а затем поместить отфильтрованные строки в нужные листы ("Лист 2" и "Лист 3").

2 ответа2

1

С основным листом, как:

В листе 2 в ячейку A1 введите:

=MATCH("Sheet 2",'Main Sheet'!C:C,0)

и в A2 введите:

=IFERROR(MATCH("Sheet 2",INDEX('Main Sheet'!C:C,A1+1):INDEX('Main Sheet'!C:C,9999),0)+A1,"")

Скопируйте А2 вниз. В лист 2 ячейки B1 введите:

=INDEX('Main Sheet'!A:A,$A1)

и скопируйте это как вниз, так и поперек.

Столбец примечания A определяет строку, из которой отфильтрованы данные, столбцы B и C - это идентификатор и имя из этой строки.

0

Напишите следующую формулу в Sheet2:

В ячейке E242 напишите эту формулу массива, закончите с помощью Ctrl+Shift+Enter и заполните ее:

{=IFERROR(INDEX(MainSheet!$A$242:$A$246,MATCH(0,IF($F$240=MainSheet!$C$242:$C$246,COUNTIF($E$241:$E241,MainSheet!$A$242:$A$246),""),0)),"")}

В ячейке F242 напишите эту формулу массива, закончите с помощью Ctrl+Shift+Enter и заполните ее:

{=IFERROR(INDEX(MainSheet$B$242:$B$246, MATCH(0, IF($F$240=MainSheet!$C$242:$C$246, COUNTIF($F$241:$F241, MainSheet!$B$242:$B$246), ""), 0)),"")}

Напишите следующую формулу в Sheet3:

В ячейке G242 напишите эту формулу массива, затем нажмите Ctrl+Shift+Enter и заполните ее:

{=IFERROR(INDEX(MainSheet!$A$242:$A$246,MATCH(0,IF($H$240=MainSheet!$C$242:$C$246,COUNTIF($G$241:$G241,MainSheet!$A$242:$A$246),""),0)),"")}

В ячейке H242 напишите эту формулу массива, завершите с помощью Ctrl+Shift+Enter и заполните ее:

{=IFERROR(INDEX(MainSheet!$B$242:$B$246, MATCH(0, IF($H$240=MainSheet!$C$242:$C$246, COUNTIF($H$241:$H241, MainSheet!$B$242:$B$246), ""), 0)),"")}

ПРИМЕЧАНИЕ. Настройте адрес ячейки в соответствии с вашими потребностями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .