Witam.
Potrzebuję przetworzyć sto tysięcy wierszy z 96 kolumnach (w różnych plikach) w taki sposób, by pod każdym z nich wstawić nowy, pusty wiersz i wstawienie w tym nowym wierszu 1/4 sumy czterech komórek powyżej się znajdujących (załóżmy, że startujemy z komórki A1 - w komórce B4 ma się znaleźć suma komórek A1, A2, A3, A4 pomnożonej przez 0,25, w komórce B8 0,25 * suma komórek A5, A6, A7, A8 i tak dalej...).
Próbowałem zrobić takie makro przez rejestrację czynności, ale niestety, nie potrafię sobie poradzić z oderwaniem makra od konkretnych komórek do "wzoru" w jakim ma działać makro. W załączeniu plik ze skryptem, który uzyskałem.
Proszę o pomoc w jego zmodyfikowaniu tak, żeby potrafił sam przejść od pierwszego do ostatniego wiersza tabeli.
z góry dziękuję i pozdrawiam,
cmasterb
sumowanie co czwartej komórki w nowym wierszu
sumowanie co czwartej komórki w nowym wierszu
- Załączniki
-
- makrowstawianie.txt
- uzyskany z rejestratora skrypt
- (24.58 KiB) Pobrany 197 razy
Win 8.1 + OpenOffice 4.1.0
Re: sumowanie co czwartej komórki w nowym wierszu
Jeżeli chcesz wstawiać tak jak piszesz pusty wiersz, to w B5 masz umieścić średnią z A1:A4, dalej w B10 średnią z A6:A9 -- bo się adresy zmienią. Wstawianie wierszy wymaga programowania.cmasterb pisze:Witam.
Potrzebuję przetworzyć sto tysięcy wierszy z 96 kolumnach (w różnych plikach) w taki sposób, by pod każdym z nich wstawić nowy, pusty wiersz i wstawienie w tym nowym wierszu 1/4 sumy czterech komórek powyżej się znajdujących (załóżmy, że startujemy z komórki A1 - w komórce B4 ma się znaleźć suma komórek A1, A2, A3, A4 pomnożonej przez 0,25, w komórce B8 0,25 * suma komórek A5, A6, A7, A8 i tak dalej...).
Natomiast jeśli chcesz zrobić podsumowania tak jak piszesz, z boku -- tj. w B4 średnia z A1:A4; w B8 średnia z B5:B8 itd. -- poradzisz sobie formułami. W B4 wpisz:
Kod: Zaznacz cały
=jeżeli(mod(wiersz(); 4)=0; średnia(A1:A4); "")
Możesz też uzyskać średnie z czwórek w spójnej kolumnie używając funkcji przesunięcie(). W C1 wpisz:
Kod: Zaznacz cały
=średnia(przesunięcie(A$1;4*(wiersz()-1);0;4;1))
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: sumowanie co czwartej komórki w nowym wierszu
Bardzo dziękuję.
O, świetnie - nawet nie pomyślałem, że można problem rozwiązać łatwiej niż makrem.
A jak w spójnej kolumnie uzyskać wyniki gdzieś całkiem z boku? manipulując wartością po "wiersz" (czyli -1)?
O, świetnie - nawet nie pomyślałem, że można problem rozwiązać łatwiej niż makrem.
A jak w spójnej kolumnie uzyskać wyniki gdzieś całkiem z boku? manipulując wartością po "wiersz" (czyli -1)?
Win 8.1 + OpenOffice 4.1.0
Re: sumowanie co czwartej komórki w nowym wierszu
Ogarnąłem, manipulacja wartością 4 przyniosła pożądany efekt. Temat uważam za rozwiązany.
Win 8.1 + OpenOffice 4.1.0