Wpis z mikrobloga

Hej Mirunie,
chciałabym w excel stworzyć formułę na automatyczne przefiltrowanie treści w zależności od długości tabeli. Innymi słowy- mam tabelę o długości X (wiersze) i Y (kolumny). W kolumnach są pewne słowa klucze, które wyszukuję i na podstawie tego chcę stworzyć nową tabelę z przefiltrowanymi rekordami.

Przykład: Tabela w załączniku.
Chciałabym wyłuskać wartość komórki A29, która jest zapisana za pomocą formuły =ROWS(tabela) i wrzucić odpowiednio do komórek poniższej tabeli, która jest już przefiltrowana z innej tabeli pomieszanych rekordów (czyli mamy już nową z podzielonymi markami samochodów jak na grafice), abym przy stworzeniu nowej innej tabeli (gdzie rekordów może być 100, 1000, 10, itp) nie musiała ręcznie przeciągać formuły, tylko automatycznie przejrzeć całą.

Formula w każdej filtrującej komórce to: INDEX(Samochody$A$2:$J2, MATCH("*"&K$2&"*", Samochody$H2:$H$2, 0), 1), gdzie A2-J2 to tabela, K2- odpowiednia nazwa samochodu, tutaj np Audi zgodnie z tabelą.

TLDR chciałabym długość ROWS() załadować do tekstu "Samochody$A2:$J$"&A29, gdzie A29 to jest formuła ROWS(). Przy przeciągnięciu komórek w lewo/prawo komórka A29 staje się A30, 31... a przy dodaniu $ formula nie wie, o co chodzi.
Czyli chodzi mi o wyłuskanie wartości komórki i dodanie jej do adresu w formule, która deklaruje długość dynamicznych tabel.

Mam nadzieję, że do klarownie wyjaśniłam, starałam się :P

#excel
jafik - Hej Mirunie,
chciałabym w excel stworzyć formułę na automatyczne przefiltrowa...

źródło: excel

Pobierz
  • 4
Mam nadzieję, że do klarownie wyjaśniłam, starałam się :P


@jafik: Obawiam się, że nie. Wręcz przeciwnie, to się w ogóle kupy nie trzyma zaczynając od:

Przy przeciągnięciu komórek w lewo/prawo komórka A29 staje się A30, 31...


Przy przeciąganiu w lewo/prawo w formule zmienia się kolumna a nie wiersz.

Ogólnie: "Samochody$A2:$J$"&A29 nie zadziała. Do wyboru jest kilka formuł pozwalających działać na adresach: INDIRECT, OFFSET (obu zdecydowanie nie polecam), najlepszą jest INDEX, tylko
@brak_nicku: Hej,

Przy przeciągnięciu komórek w lewo/prawo komórka A29 staje się A30, 31..

Tak, tutaj skrót myślowy. Chodziło mi ogólnie o zmianę referencji po przeciągnięciu.

Do wyboru jest kilka formuł pozwalających działać na adresach: INDIRECT, OFFSET (obu zdecydowanie nie polecam), najlepszą jest INDEX


We wpisie wyżej podałam, że używam tej formuły:

INDEX(Samochody$A$2:$J2, MATCH("*"&K$2&"*", Samochody$H2:$H$2, 0), 1)

Indirect wyświetla mi niestety błędy, offset próbowałam używać i nie daję rady. Chodzi mi o
@jafik: Zauważyłem, że używasz INDEX, ale w innym celu - kombinację INDEX/MATCH do wyszukiwania danych. Tylko formuła INDEX ma jedną wielką zaletę - ona nie zwraca wartości tylko komórkę, a ta w razie potrzeby zamieniania jest na wartość (jak we wcześniejszym przykładzie. Jeśli chcesz zamienić dwójkę - nic prostszego: INDEX(Samochody!$A:$A,nr_wiersza1,1), tak samo można zastąpić adres komórki końcowej: INDEX(Samochody!$J:$J,nr_wiersza2,1). Czyli zamiast Samochody$A$2:$J29 możesz użyć każdej z możliwości:

INDEX(Samochody!$A:$A,nr_wiersza1,1):INDEX(Samochody!$J:$J,nr_wiersza2,1)
Samochody$A$2:INDEX(Samochody!$J:$J,nr_wiersza2,1)
INDEX(Samochody!$A:$A,nr_wiersza1,1):Samochody$J$29