konto usunięte

Temat: 1K/348W na 6K/58W

Witam,

Jak przerobić 1 kolumnę z 348 wierszami na 6 kolumn i 58 wierszy? Przy pomocy TRANSPONUJ muszę to robić ręcznie 58 razy. Przeciąganie w dół działa, ale skacze co jeden, a nie co 6.

Czy jest coś takiego, jak działanie na numerach wierszy tj.
W1/K2: =A1
W2/K2: =A(1+6)?

Pozdrawiam.
Filip Tomaszewski

Filip Tomaszewski Wspólnik, PGS
Pracownia Gier
Szkoleniowych
(www.pracownia...

Temat: 1K/348W na 6K/58W

Być może dałoby się tu wykorzystać funkcje: adres i adr.pośr. Trzeba by jednak najpierw zrobić tablicę z adresami (np. przy pomocy funkcji złącz.teksty)

konto usunięte

Temat: 1K/348W na 6K/58W

Robert D.:
Witam,

Jak przerobić 1 kolumnę z 348 wierszami na 6 kolumn i 58 wierszy? Przy pomocy TRANSPONUJ muszę to robić ręcznie 58 razy. Przeciąganie w dół działa, ale skacze co jeden, a nie co 6.

Czy jest coś takiego, jak działanie na numerach wierszy tj.
W1/K2: =A1
W2/K2: =A(1+6)?

Pozdrawiam.


w kolumnie kolejnej wstaw sobie w pierwszym wierszu wartość "1" a w kolejnym formułe "=JEŻELI(B1>=6;1;B1+1)".

potem wstaw Autofiltr i po kolei wyfiltruj sobie 1,2,3,4,5,6 , i powklejaj do sześciu kolum , bedzie to co szósta wartość.

To tak metoda "po chłopsku" bez użycia VBA.

konto usunięte

Temat: 1K/348W na 6K/58W

Dzięki i komentarze:
TRANSPONUJ - do kitu, nie da się potem sortować.
ADRESY - dla mnie, póki co, za skomplikowane
JEŻELI - o to chodzi, tylko ja muszę mieć formułę, bo te dane w pierwszej kolumnie będą się często zmieniać (niestety, ktoś tak wymyślił).
Filip Tomaszewski

Filip Tomaszewski Wspólnik, PGS
Pracownia Gier
Szkoleniowych
(www.pracownia...

Temat: 1K/348W na 6K/58W

OK. zrobiłem coś co może Ci pomóc. Rozwiązanie trochę lamerskie, bo nie przez makro, ale na bezrybiu i rak ryba.
załóżmy, że Twoja kolumna z 348 rekordami jest w kolumnie A. Pierwszy rekord zaczyna się w wierszu drugim (A2).
Zrób sobie teraz obok tabelkę z kolejnymi liczbami od 2 do 349 (w wierszu 349 jest ostatni rekord). Tabelka ma mieć tak jak chcesz 6 kolumn i 58 wierszy (można tu łatwo jakoś automatyczną numerację w każdym wierszu zastosować.
Powinna tak wyglądać:
2 3 4 5 6 7
8 9 10 11 12 13
14 15 16 17 18 19
itd.
Teraz poniżej zrób kolejną tabelkę z taką formułą:
=złącz.teksty("a";[adres pierwszej komórki z tabelki z liczbami, którą zrobiliśmy w poprzednim kroku])
Wypełnij automatycznie tę tabelkę. W rezultacie otrzymasz taką tabelkę:
a2 a3 a4 a5 a6 a7
a8 a9 10 a11 a12 a13
itd.
W ostatnim kroku robisz już to, co chciałeś przy pomocy funkcji:
=adr.pośr([adres tej komórki, której jest wartośc "a2" z poprzedniej tabelki])

konto usunięte

Temat: 1K/348W na 6K/58W

Bardzo dziękuję. Działa, chociaż dalej nie da się sortować, ale skopiowałem jeszcze raz, już bez adresów pośrednich, i jest O.K.

Ciekawi mnie metoda przy użyciu VBA, ale spróbuję sam do tego dojść, po przeczytaniu książki :-)))

konto usunięte

Temat: 1K/348W na 6K/58W

1. dodaj kolumne przed kolumna z danymi , tam umieść liczby od 1 do 648
2. w kolumnach nastepnych w pierwszym wierszu umiesc od 1 do 6 , a w drugim formułe =WYSZUKAJ.PIONOWO(D1+6;$A:$B;2;0)i przeciagnij w bok i w dól

w kolumnie A sa indeksy w B dane , od D do I (te sześć kolumn z wpisanymi w pierwszym wierszu od 1 do 6)

konto usunięte

Temat: 1K/348W na 6K/58W

Witaj,

Dodałem kolumnę, ale też wiersz, w którym od kolumny C umieściłem liczby -5 / -4 / -3 / -2 / -1 / 0.

Wstukałem w C2: =WYSZUKAJ.PIONOWO(C1+6;$A:$B;2;0). Zadziałało poprawnie. Pociągnąłem do H2 - jest O.K.

Niestety przeciąganie w dół daje błędy, bo z C1 w formule robi się C2, C3 itd. a tam są już dane, a nie liczby, jak w C1.

Kombinuję, ale na razie nic :-)

Pozdrawiam.

konto usunięte

Temat: 1K/348W na 6K/58W

arkusz który zrobilem mi dziala bo sprawdzalem

konto usunięte

Temat: 1K/348W na 6K/58W

A co masz w kolumnie C? Te minusy muszą być, bo inaczej zwraca mi od drugiego rekordu. Jak przeciągam w dół, to idzie w pierwszych pięciu kolumnach #ARG!, a w szóstej #N/D!.
Marta W.

Marta W. Client Delivery
Analyst, Acxiom
Polska

Temat: 1K/348W na 6K/58W

Robert D.:
Ciekawi mnie metoda przy użyciu VBA, ale spróbuję sam do tego
dojść, po przeczytaniu książki :-)))

przez VBA jest chyba prościej
zaznacz pierwsza komorke z kolumny i uruchom

Sub sortuj()

rwst = ActiveCell.Row
clst = ActiveCell.Column
first = ActiveSheet.Name
nazwa = InputBox("podaj nazwe arkusza wynikowego", "nazwa arkusza")

Sheets.Add
ActiveSheet.Name = nazwa

Sheets(first).Activate

For kolumna = 1 To 6

Range(Cells(rwst, clst), Cells(rwst + 57, clst)).Select
Selection.Copy
Sheets(nazwa).Select
Cells(2, kolumna).Select
ActiveSheet.Paste

rwst = rwst + 58
Sheets(first).Activate

Next
End Sub

pozdro
Marta.

konto usunięte

Temat: 1K/348W na 6K/58W

Super, dzięki, prawie dobrze ;-))) Prawie, bo leci kolumnami, a ma układać wyniki wierszami :-)))
Marta W.

Marta W. Client Delivery
Analyst, Acxiom
Polska

Temat: 1K/348W na 6K/58W

jak sobie zyczysz

zamiast
Cells(2, kolumna).Select
ActiveSheet.Paste

wpisz
Cells(kolumna, 2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

i bedzie wierszami.

pozdro
Marta.

konto usunięte

Temat: 1K/348W na 6K/58W

Marto,

Zamęczę Cię :-)

Teraz jest 6W/58K, zamiast 6K/58W.

Polecam się w wolnej chwili ;-)

Pozdrawiam.
Marta W.

Marta W. Client Delivery
Analyst, Acxiom
Polska

Temat: 1K/348W na 6K/58W

no dobra,
jezeli nie o to chodzi to sie poddaje :)
sprobuj tak :

Sub sortuj2()

rwst = ActiveCell.Row
clst = ActiveCell.Column
first = ActiveSheet.Name
nazwa = InputBox("podaj nazwe arkusza wynikowego", "nazwa arkusza")

Sheets.Add
ActiveSheet.Name = nazwa
Sheets(first).Activate

For kolumna = 1 To 58

Range(Cells(rwst, clst), Cells(rwst + 5, clst)).Select
Selection.Copy
Sheets(nazwa).Select
Cells(kolumna, 2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
rwst = rwst + 6
Sheets(first).Activate

Next
End Sub

pozdro

Marta.

konto usunięte

Temat: 1K/348W na 6K/58W

Marto,

Bardzo, bardzo dziękuję!!!

Pozdrawiam.
Bartłomiej Dąbrowski

Bartłomiej Dąbrowski
analiza/przetwarzani
e danych

Temat: 1K/348W na 6K/58W

Marta W.:
no dobra,
jezeli nie o to chodzi to sie poddaje :)
sprobuj tak :

Sub sortuj2()

rwst = ActiveCell.Row
clst = ActiveCell.Column
first = ActiveSheet.Name
nazwa = InputBox("podaj nazwe arkusza wynikowego", "nazwa arkusza")

Sheets.Add
ActiveSheet.Name = nazwa
Sheets(first).Activate

For kolumna = 1 To 58

Range(Cells(rwst, clst), Cells(rwst + 5, clst)).Select
Selection.Copy
Sheets(nazwa).Select
Cells(kolumna, 2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
rwst = rwst + 6
Sheets(first).Activate

Next
End Sub

pozdro

Marta.


Z ciekawości zapuściłem makro i wyszło że "zjada" ostatni wiersz (gdy dane wprowadzone są w komórkach A2:A350).
Nie znam się na pisaniu makr ale stara dobra metoda "na małpę" pozwoliła stwierdzić, że zmiana w wierszu:

Range(Cells(rwst, clst), Cells(rwst + 5, clst)).Select

na:

Range(Cells(rwst, clst), Cells(rwst + 6, clst)).Select

To oczywiście tylko kosmetyka ale niech będzie dla porządku :)

Pozdrawiam

Po zastanowieniu się i ponownym spojrzeniu na arkusz i makro odwołuję wcześniejsze słowa :) Zmieniony zapis powoduje powstanie 7 kolumn. Więc coś nie tak... :)

Ale jeśli zmienimy wiersz:

rwst = rwst + 6

na:

rwst = rwst + 7

Otrzymamy 6 kolumn z zawartością wszystkich 349 komórek. Tyle że makro "machnie" kilka pustych przebiegów :)

Teraz chyba będzie dobrze...Bartłomiej Dąbrowski edytował(a) ten post dnia 05.07.07 o godzinie 11:46
Marta W.

Marta W. Client Delivery
Analyst, Acxiom
Polska

Temat: 1K/348W na 6K/58W

Z ciekawości zapuściłem makro i wyszło że "zjada" ostatni wiersz (gdy dane wprowadzone są w komórkach A2:A350).
Otrzymamy 6 kolumn z zawartością wszystkich 349 komórek. Tyle że makro "machnie" kilka pustych przebiegów :)


tylko, że wierszy miało być 348 a nie 349 :)
czyli 6 kolumn po 58 wierszy
Ale jeśli zmienimy wiersz:

rwst = rwst + 6

na:

rwst = rwst + 7

ta zmiana spowoduje, ze makro bedzie "zjadać" wartosci -w kolejnej rundzie przeskoczy o 7 wierszy w dół zamiast o 6. - prześledź makro step by step wtedy widać o co chodzi.

jest szansa,że komuś przyda sie takie makro
ale to nie ten case... :)

pozdro
Marta.Marta Włodarska edytował(a) ten post dnia 05.07.07 o godzinie 13:18
Bartłomiej Dąbrowski

Bartłomiej Dąbrowski
analiza/przetwarzani
e danych

Temat: 1K/348W na 6K/58W

Marta W.:
Z ciekawości zapuściłem makro i wyszło że "zjada" ostatni wiersz (gdy dane wprowadzone są w komórkach A2:A350).
Otrzymamy 6 kolumn z zawartością wszystkich 349 komórek. Tyle że makro "machnie" kilka pustych przebiegów :)


tylko, że wierszy miało być 348 a nie 349 :)
czyli 6 kolumn po 58 wierszy
Ale jeśli zmienimy wiersz:

rwst = rwst + 6

na:

rwst = rwst + 7

ta zmiana spowoduje, ze makro bedzie "zjadać" wartosci -w kolejnej rundzie przeskoczy o 7 wierszy w dół zamiast o 6. - prześledź makro step by step wtedy widać o co chodzi.

jest szansa,że komuś przyda sie takie makro
ale to nie ten case... :)

pozdro
Marta.Marta Włodarska edytował(a) ten post dnia 05.07.07 o godzinie 13:18


"Tyz prawda" :)

Cóż, Jaś nie doczytał... Swoją drogą, jednak siła sugestii to jest to - dałbym się pokroić, że miało być 349 wierszy. I za chińskiego boga nie wiem dlaczego tak myślałem... :)

A makro prześledzę - w końcu trzeba się dowiedzieć o co biega w tych "czarach" :)

Dziękuję i pozdrawiam

B.

konto usunięte

Temat: 1K/348W na 6K/58W

Cześć

Odpuść sobie VBA, można to zrobić dużo prościej.

1. skopiuj te 349 komórki do kolumny A tak by pozycja pierwsza znajdowała się w wierszu 1 a ostatnia w wierszu 349.

2.
w b1 wpisz 1
w c1 wpisz 59
w d1 wpisz 117
w e1 wpisz 175
w f1 wpisz 233
w g1 wpisz 291
i przeciągnij w dół do wiersza 58.

3. do h1 wklej formułę =INDEKS($A$1:$A$349;B1;1)
4. przeciągnij ją na obszar h1:m58

i gotowe.

krzysiek

Następna dyskusja:

24W LED = 58W FT




Wyślij zaproszenie do