Pobieranie danych z kolejnych arkuszy bez wpisywania nazw

Użytkowanie arkusza kalkulacyjnego
MrMalyPL
Posty: 2
Rejestracja: wt sty 26, 2021 12:04 am

Pobieranie danych z kolejnych arkuszy bez wpisywania nazw

Post autor: MrMalyPL »

W związku iż jest to mój pierwszy wpis...
Witam wszystkich forumowiczów! :super:

:arrow: Wstęp
Od czasu do czasu zdarza mi się popracować trochę w arkuszu kalkulacyjnym i jak do tej pory, większość moich problemów ktoś już przerabiał i zawsze znajdywałem rozwiązanie.
Niestety tym razem nie znalazłem rozwiązania chociaż problem wydaje się być banalny, jednak coś robię nie tak.
Mianowicie moja rodzicielka prowadzi niewielki sklep i wiadomo, co roku wymagane jest zrobienie inwentaryzacji czyli, tzw. spisu z natury.
Od kilku lat co roku ulepszałem swój arkusz stworzony w tym celu, ale jedna rzecz mnie już irytuje od dawna - o ile dana ilość arkuszy którą miałem przygotowaną wystarczyło nie byłoby tematu, jednak ilość towarów z roku na rok się powiększa,
byłem zmuszony dodać kilkanaście arkuszy i....

:arrow: Przedstawienie problemu
Plik do sporządzania inwentaryzacji zawierał pewną ilość arkuszy (dajmy na to 30).
Na każdym arkuszu po 50 pozycji. Kiedy zaczynałem tworzyć plik, stwierdziłem, że dla zachowania estetyki i łatwości najlepiej będzie zrobić każdą stronę jako kolejny arkusz
Na każdym z pojedynczych arkuszy widnieje:
>> kolejny numer pozycji (1-50, 51-100 itd.)
>> nazwa towaru
>> ilość
>> cena brutto
>> vat towaru
>> marża sprzedaży

i z tych informacji wyliczane są:
>> wartość brutto
>> cena brutto zakupu
>> cena netto zakupu [ta kwota nas interesuje w podsumowaniu]
>> suma brutto
>> suma netto zakupu

Ostatni arkusz zawiera podsumowanie:
>> Numer strony
>> Pozycje od - do
>> Suma netto zakupu z danej strony
oraz suma wszystkich arkuszy

Mój problem polega na tym, że w związku z powiększającą się ilością towarów dodałem kolejne arkusze.
Zrobienie podsumowania jest dość proste, jednak chcąc sobie usprawnić pracę, chciałbym, aby ostatni arkusz pobierał sobie z każdego kolejnego arkusza:
>> Numer pozycji początkowej danego arkusza
>> Numer pozycji końcowej danego arkusza
>> Sumę danego arkusza

Do tej pory robiłem to ręcznie wpisując po prostu numery pozycji z ręki (można by zastosować dodawanie +50 do poprzedniej wartości, ale chcąc wykluczyć błędy wolę pobrać tą daną bezpośrednio z arkusza).
Z sumami już tego nie przeskoczę i klepałem każdy kolejny wiersz =Arkusz1.E52, =Arkusz2.E52... itd.

:arrow: :arrow: Czy można w jakiś sposób sprawić, aby odniesienie do arkusza było zrobione w taki sposób, abym mógł tylko przeciągnąć formułę i zmiana numeru arkusza nastąpi automatycznie?
Np. użyć liczby porządkowej jako numeru arkusza - coś na zasadzie =Arkusz(A3 - czyli przepisanie liczby porządkowej).$E$52.
Nie wiem czy samym problemem nie jest też fakt, że nazwa arkusza to po prostu "Arkusz1", "Arkusz2" itd... :?:

Proszę o podpowiedź jak można to zrobić - nie chodzi mi o pełną automatyzację, ale, żeby chociaż przeciągnięcie od pierwszego odniesienia w dół wpisało w kolejne komórki odniesienia do kolejnych arkuszy.

Z góry dziekuję i pozdrawiam!
Rafał
OpenOffice 4.1.7, Windows 10
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Pobieranie danych z kolejnych arkuszy bez wpisywania naz

Post autor: Jan_J »

Jeśli arkusze w skoroszycie masz nazwane według pewnego wzorca – albo dysponujesz spisem nazw arkuszy – to możesz wykorzystać do tego funkcję indirect (adr.pośr). Jej działanie polega na budowaniu odwołania do komórki na podstawie tekstowego adresu. Na przykład

Kod: Zaznacz cały

=indirect("Arkusz" & row() & ".A1")
pobierze zawartość A1 z arkusza o nazwie postaci ArkuszX, gdzie X jest numerem bieżącego wiersza.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
MrMalyPL
Posty: 2
Rejestracja: wt sty 26, 2021 12:04 am

Re: Pobieranie danych z kolejnych arkuszy bez wpisywania naz

Post autor: MrMalyPL »

Przyznam, że patrzyłem na tę funkcję, ale nie wiedziałem jak ją poskładać, żeby zadziałało.

Koledze bardzo serdecznie dziękuję za pomoc!

Oraz poniżej dla przyszłych poszukiwaczy tego samego podaję przykład aby było jasne:

Kod: Zaznacz cały

=ADR.POŚR("Arkusz" & A2 &".A2")
Nazwy arkuszy w moim przypadku to tak jak w przykładzie który kolega podał "Arkusz1" "Arkusz2" itd.
Zatem używając tej funkcji oraz znaków "&" możemy zbudować odniesienie.
Objaśnienie:
=ADR.POŚR("Część stała nazwy arkusza" & Komórka z której pobierany jest numer arkusza do którego chcemy się odnieść & ".adres komórki w arkuszu do którego się odnosimy")

Pozdrawiam!
R.
OpenOffice 4.1.7, Windows 10
Zablokowany