GRY-Online.pl --> Archiwum Forum

Excel-jak pobrać dane z co 3 komórki w danej kolumnie?

04.07.2006
11:49
[1]

minius [ Senator ]

Excel-jak pobrać dane z co 3 komórki w danej kolumnie?

Mam dane w Excelu, które znajdują się co 3 komórkę. Musze je przenieść do jednej kolumny, ale w kolejnych komórkach. Z tym, ze wpisywanie ręczne formuły do każdej komórki odpada, bo jest ich kikladziesiąt tysięcy.
najprościej byłoby wpisać formułę =A(A1+3) i powielić tę formułę w kolejnych komórkach.
Niestety Excel nie przyjmuje adresu komórki jako zmiennej, więc nie potrafię tego zrobić w ten sposób.

Może macie jakś pomysł jak to wykonać?

Obok zrzut ekranu o co chodzi.

04.07.2006
11:51
[2]

minius [ Senator ]

No i nie dałem zrzutu ekranu

04.07.2006
12:11
[3]

Tofu [ Zrzędołak ]

Sprawdź ten dodatek do Excela (darmowy) - nie jestem na 100% pewien, ale chyba była tam taka funkcja (teraz jestem w pracy i nie mogę niczego nistalować, więc będziesz musiał sprawdzić sam. Nawet jeśli jej nie ma, to dodatek i tak genialny).

04.07.2006
12:32
[4]

Yos_sarian [ Washington Irving ]

nie wiem czy o to ci chodzi ale wystarczy trzymac ctrl i wtedy mozesz wybiorczo zaznaczac komorki do skopiowania.

04.07.2006
12:41
[5]

Tofu [ Zrzędołak ]

Jest jeszcze jedno wyjście - umiejętne zastosowanie funkcji MOD. Tu Ci raczej nie pomogę, bo nie znam się na tym aż tak dobrze, ale przeczytaj tę instrukcję (dotyczy sumowania co n-tego rzędu), może wpadniesz na jakiś dobry pomysł:

04.07.2006
12:46
[6]

Attyla [ Flagellum Dei ]

Za czasów excela 4.0 wystarczyło zrobić pętlę if. teraz też to trzeba zrobić, ale już w tym pieprzonym basicu. Poczytaj instrukcję.

04.07.2006
13:18
[7]

minius [ Senator ]

Yos_sarian - To mam propozycję.
Ja CI wyślę ten arkusz, a Ty stosując CTRL zaznaczysz 20 tysięcy wierszy do wyrzucenia i odeślesz mi to poprawione.
OK?

Tofu - faktycznie nakładka fajna . Ma nawet ciekawą funkcję dodawania wierszy co ileśtam. Ale twórcy nie pomyśleli by zaimplementować również funkcję odwrotną - odejmowanie wierszy co ileśtam. Wielka szkoda, bo mialbym już sprawę rozwiązaną.

Attyla - też mi się wydawało, ze kilka lat temu coś takiego w starszym Excelu było. W VB mam wiedzę zerową, więc szukam innych sposobów.

04.07.2006
13:20
[8]

Tofu [ Zrzędołak ]

A próbowałeś funkcji "warunkowego wyboru" (conditional select)? Nie pamiętam w tym momencie, czy coś w stylu "every n-th row" tram było, ale sprawdzić możesz :)

EDIT: Znalazłem metodę - najpierw wybierasz "Color each n'th row or column", potem "Conditional select cells" i "Cell color" - trochę upierdliwe, ale powinno działać.

04.07.2006
13:50
[9]

Musk2 [ Konsul ]

minius-->

moze troszke inne podejscie, ale chyba Ci pomoze
makro na usuwanie pustych wierszy:

Sub delCoDrugi()
For a = 1 To 100
ActiveCell.Offset(1, 0).Rows("1:1").Select
If ActiveCell = "" Then Selection.EntireRow.Delete
Next a
End Sub

liczba 100 oznacza ile wierszy ma sprawdzac wiec wpisz odpowiednia liczbe
makro dziala na dowolna kolumne wiec kursor ustaw w pierwszym wierszu, w kolumnie gdzie masz nazwisk/imiona

no chyba ze te odstepy Ci jednak sa potrzebne :)

04.07.2006
19:25
[10]

mike1980 [ Centurion ]

Można to na zrobić na mnóstwo sposobów. Chyba 2 najszybsze:
1) Zaznacz kolumny C i D, załóż autofiltr. Kliknij na autofiltr, wybierz "aby pokazywał niepuste", zaznacz, skopiuj.
2) Zaznaczasz klumny C i D. Klikasz F5 ==> Specjalne ==> Stałe (czy jakoś tak) ==> kopiujesz ==> wklejasz

04.07.2006
19:40
[11]

mike1980 [ Centurion ]

Jeśli koniecznie musi być formuła:
Pierwszy wiersz możesz sam sobie przekopiować a w drugi wstaw i przeciągnij w dół:
=INDIRECT(ADDRESS(1+3*(ROW()-1);3)), gdzie 3 to numer kolumny z nazwiskiem.
Nie mam w domu excela, ale po polsku będzie to jakoś tak:
=adr.pośr(adres(1+3*(wiersz()-1),3)) (albo przed 3 średnik). Jeśli coś pomyliłem niech mnie proszę ktoś poprawi.

07.07.2006
11:35
[12]

minius [ Senator ]

Dając graficzny przykład o co mi chodzi, zrobiłem pewien niezamierzony błąd.
O ile faktycznie potrzebowałem (bo dzięki ostatniej poradzie Mike 1980 problem został rozwiązany) zaimportować co 3 wiersz danych do innej kolumny, tak by występowały one w wierszach kolejnych, to wiersze pomiędzy również były zapełnione tzw. śmieciami, które wytworzyły się podczas importu danych z innego źródła.

Tak więc warunkowe usuwanie pustych wierszy nic by tu nie pomogło.

Bardzo wszystkim dziękuję za pomoc, a szczególne słowa podziękowania kieruję do Mike 1980: Twoja formuła sprawdza się idealnie (masz rację, w polskim Excelu zamiast przecinka nalezy zastosować średnik).

Temat zamknięty

© 2000-2026 GRY-OnLine S.A.