Słuchajcie, jak zrobić szybko w jednej kolumnie niestandardową, dwutorową numerację?
Tzn mam w komórce A1 liczbę 200, w B1 500.
Teraz w C potrzebuję mieć:
200
500
501
502
201
503
504
505
202
506
507
508
203
509
510
511
......... itd.
Liczba z A, trzy kolejne zaczynając od B, następna w kolejności A, kolejne trzy z B itd do końca przeciągnięcia komórek.
Coś takiego - ile przeciągnę, to tyle dostanę tej numeracji na dwóch niezależnych numerowaniach w jednej kolumnie.
Chyba chce mieć
C1=A1
C2=B1
C3=B1+1
C4=B1+2
C5=A1+1
C6=B1+3
C7=B1+4
C8=b1+5
C9=A1+2
C10=B1+6
..
itd.
Ale ja nie mam pojęcia jak to makro zrobić ;) Pewnie coś z ++ ? :)
Ano właśnie tego potrzebuję. Idę o zakład, że spokojnie formułami się to ogarnie, tylko mam problem z przerwą na podelementy co jest najbardziej oczywiste.
No i
C1=A1
C2=B1
C3=B1+1
C4=B1+2
C5=B1+3
C6=A1+1
C7=B1+3
C8=B1+4
C9=B1+5
C10=A1+2
C11=B1+6
..
Coś z funkcją przesunięcie chyba- [link]
To ja tylko napisze, rejetrator makr sobie włącz i ogarniesz to po kroczku :) Nie mam Exela więc nie pomogę ale kiedyś sie uczyłem. Myślę, że rejestrator makr to spoko sprawa, choć może troche być nieczytelne dla tego kto tego nie robił - w sensie jak ktoś zobaczy co za makro stworzyłeś :) ale działa i jest skuteczne ;)
Jak znasz VBA to to zadziała, tylko trzeba zamienić syntax na Excelowy.
Jest to trochę rozwiązanie od dupy strony, no ale liczy poprawnie - nigdy nie programowałem w Excelu, ale algorytm z modulo 4 to chyba najprostsze podejście bez nadmiernego kombinowania.
C1=A1
C2=B1
C3=C2+1
C4=C3+1
C5=C1+1
C6=C2+3
C7=C3+3
C8=C4+3
Nastepnie zaznacz C5:C8, przeciagnij w dol i powinno dzialac.
Zależnie jak duży to będzie arkusz, ale najwydajniej będzie z poziomu GUI Excela zrobić po prostu same wartości i ewentualnie jak chcesz automatyzacji to nagrywasz to nagrywarką makro i obliczasz w osobnej karcie konfiguracyjnej.
Ja bym to zrobił tak - dwie kolumny pomocnicze, w pierwszej formatujesz jedną serię i zostawiasz miejsca na wartości kolejnych serii, obok kolejną serię na tych samych zasadach i możesz dodawać tak serie jak długo chcesz. Ciągniesz to do wiersza którego potrzebujesz, a potem wklejasz wszystko w kolumnę z wynikiem poprzez opcję dodaj. Przykład obok jak wklejam wynik z B w kolumnę C.
Możesz wyrzucić też potem makro na kartę, żeby odświeżało dodawane w kolumnę C ile razy zmienisz dane na karcie obliczającej wynik, czyli procedurą Private Sub Worksheet_Change() i dopisać z ręki w makrze jaki ma być Range, bo jak nagrasz to nie będziesz miał właściwego dla późniejszych poprawek. Wynik może być oczywiście od razu przyklejany w miejsce docelowe, a nie w kolumnę C.
Drugi problem.....
Mam w arkuszu 1 wiersze z liczbą porządkową odpowiedzmy 1 do 100000
W drugim arkuszu potrzebuję co 5 rekord wstawić w jednej z kolumn tekst, który będzie się składał z jakiejś litery i kolejnej cyfry porządkowej.
W arkuszu 2 tworzę formułę ="z"&'Arkusz1'!A2, w pierwszym wierszu. W 5 mam formułę ="z"&'Arkusz1'!A3, w 10 mam ="z"&'Arkusz1'!A4. Zaznaczam je, ciągnę w dół, ale wszelkie dociągnięte nie idą po kolei wierszy z pierwszego arkusza, tylko wybierają rekordy co przedział, jaki omijam w arkuszu 2.
Wynikiem tego mam
z1 (to jest ręcznie ustawione adresowanie)
z2 (to jest ręcznie ustawione adresowanie)
z7 (to jest po przeciągnięciu)
z11 (to jest po przeciągnięciu)
z15 (to jest po przeciągnięciu)
Zakładając, że formuła jest w od pierwszego wiersza, a dane na drugim arkuszu od drugiego:
=JEŻELI(MOD(WIERSZ();4)<>1;"";"Z"&ADR.POŚR(ADRES(2+ZAOKR.DÓŁ((WIERSZ()-1)/4;0);1;1;1;"Arkusz1");PRAWDA))
Edit:
Lub jeżeli między pierwszym wierszem z wynikiem a drugim mają być 3 puste wiersze, a potem już 4 jak napisałeś, to zaczynasz formułę od 2 wiersza, a pierwszy robisz z ręki:
=JEŻELI(MOD(WIERSZ();5)<>0;"";"Z"&ADR.POŚR(ADRES(2+ZAOKR.DÓŁ((WIERSZ())/5;0);1;1;1;"Arkusz1");PRAWDA))
Pierwszy przykład przed editem oparłem tylko o ten opis:
W arkuszu 2 tworzę formułę ="z"&'Arkusz1'!A2, w pierwszym wierszu. W 5 mam formułę ="z"&'Arkusz1'!A3
i nie doczytałem, że dalej zmieniasz interwał.