Taki prosty magazyn...

Użytkowanie arkusza kalkulacyjnego
syzyf37
Posty: 11
Rejestracja: pt lip 27, 2012 10:13 pm

Taki prosty magazyn...

Post autor: syzyf37 »

Witam!

Potrzebuję zrobić prosty magazyn. Utworzyłem kilka arkuszy. Trzy arkusze mają zawierać stany magazynowe według kategorii produktów.
A jeden arkusz ma zawierać historię zmian, aby było wiadomo kto, skąd i dokąd przekazał ile towaru.
Chodzi o to aby stany same się liczyły...

Idea jest taka:
Jest arkusz „Historia” gdzie zapisywane są wszystkie przekazania towaru pomiędzy oddziałami.
Chodzi o to aby w arkuszach ze stanem, same liczyły się ilości towaru.
Np.
Przedmiot_1 w ilości 10 szt. został przekazany z Oddziału 1 do Oddziału 2 (wpis w arkuszu „Historia”).
W arkuszu Stan_Towar_1 w wierszu nr 3 - Przedmiot_1, w kolumnie C - Oddział 1, zostaje odjęta wartość liczbowa „10”, a w kolumnie D „Oddział 2” zostaje dodana wartość liczbowa „10”.

Pytanie brzmi jak to zrobić?

Pozdrawiam

Syzyf37
Załączniki
Mag_1.ods
(16.81 KiB) Pobrany 716 razy
OpenOffice.org 3.3.0 na Windows 7
Raknor
Posty: 509
Rejestracja: pt lut 19, 2010 3:32 pm
Lokalizacja: Warszawa
Kontakt:

Re: Taki prosty magazyn...

Post autor: Raknor »

Moja propozycja to:

W arkuszu Historia sporządzić na boku dodatkową kolumnę zawierającą:

Kod: Zaznacz cały

=C2&"_"&G2
W arkuszu Stan_Towar_(1...n) wypełnić komórki formułą:

Kod: Zaznacz cały

=JEŻELI(SUMA.JEŻELI(Historia.$J$2:$J31; $B3&"_"&C$2;Historia.$D$2:$D30)=0;"";SUMA.JEŻELI(Historia.$J$2:$J31; $B3&"_"&C$2;Historia.$D$2:$D30))
W załączniku plik demonstracyjny.
Załączniki
Mag_1_v1.ods
(22.94 KiB) Pobrany 609 razy
LibreOffice 5.1.6 (64bit)
Kubuntu 16.04 (64bit)
Wszelkie uwagi lub chęć udziału przy polonizacji LibreOffice proszę kierować na adres: pol_lo at pro.wp.pl
syzyf37
Posty: 11
Rejestracja: pt lip 27, 2012 10:13 pm

Re: Taki prosty magazyn...

Post autor: syzyf37 »

Witam!

Formuła liczy towar przekazany do Oddziału (Dokąd) i dodaje (sumuje) wartość. Wszystko działa ok.
Ale brakuje jeszcze liczenia (odejmowania) towaru wydanego z Oddziału (kolumna Skąd).

Czy da się to (odejmowanie) także liczyć?

P.S.
Czy mógłbym otrzymać opis "jak to jest zrobione", jakie reguły zostały wykorzystane, aby zrozumieć zasadę działania formuł?

Pozdrawiam Syzyf37
OpenOffice.org 3.3.0 na Windows 7
Raknor
Posty: 509
Rejestracja: pt lut 19, 2010 3:32 pm
Lokalizacja: Warszawa
Kontakt:

Re: Taki prosty magazyn...

Post autor: Raknor »

Faktycznie drobny błąd :D

Zmiany jakie zaszły:
Sporządzone zostały dwie kolumny dodatkowe w arkuszu Historia.

Kod: Zaznacz cały

=C2&"_"&E2
Łączenie w pary przedmiotu z oddziałem, który oddał dany przedmiot.

Kod: Zaznacz cały

=C2&"_"&G2
Łączenie w pary przedmiotu z oddziałem, który przyjął dany przedmiot.

Arkusz Stan_Towar_(1...n):

Kod: Zaznacz cały

=JEŻELI(SUMA.JEŻELI(Historia.$K$2:$K31; $B3&"_"&C$2;Historia.$D$2:$D30)-SUMA.JEŻELI(Historia.$J$2:$J31; $B3&"_"&C$2;Historia.$D$2:$D30)=0;"";SUMA.JEŻELI(Historia.$K$2:$K31; $B3&"_"&C$2;Historia.$D$2:$D30)-SUMA.JEŻELI(Historia.$J$2:$J31; $B3&"_"&C$2;Historia.$D$2:$D30))
Jeżeli różnica sum suma.jeżeli[przyjął; przedmiot(1...n) _ oddział(1...n); ilość] - suma.jeżeli[oddał; przedmiot(1...n) _ oddział(1...n); ilość] wyniesie 0 zwróć "" ("" - pustą komórkę tekstową) w przeciwnym wypadku zwróć wartość tej różnicy.
przyjął/oddał - przeszukiwana tablica
przedmiot(1...n) _ oddział(1...n) - szukane wyrażenie
ilość - tablica z wartościami. Elementy spełniające kryterium przeszukiwania są sumowane ze sobą.

W załączniku druga wersja.
Załączniki
Mag_1_v2.ods
(24.27 KiB) Pobrany 537 razy
LibreOffice 5.1.6 (64bit)
Kubuntu 16.04 (64bit)
Wszelkie uwagi lub chęć udziału przy polonizacji LibreOffice proszę kierować na adres: pol_lo at pro.wp.pl
syzyf37
Posty: 11
Rejestracja: pt lip 27, 2012 10:13 pm

Re: Taki prosty magazyn...

Post autor: syzyf37 »

Witam!

Wszystko działa bardzo dobrze, bardzo dziękuję za pomoc!
Jeszcze taki mały drobiazg...
Jak zrobić "pole wyboru elementów" (nie wiem czy tak się to nazywa)?
Chodzi o to aby np. w kolumnie "Skąd" czy "Dokąd" w arkuszu Historia nie trzeba było za każdym razem wpisywać nazwy, tylko wybrać z rozwijanego menu.
Podobnie jeśli chodzi o kolumnę "Towar"

Jeszcze raz bardzo serdecznie dziękuję za pomoc!

Pozdrawiam

Syzyf37
OpenOffice.org 3.3.0 na Windows 7
Raknor
Posty: 509
Rejestracja: pt lut 19, 2010 3:32 pm
Lokalizacja: Warszawa
Kontakt:

Re: Taki prosty magazyn...

Post autor: Raknor »

Jeśli chodzi o pole listy [Oddział (1...n)] wystarczy, że:

1. Zaznacz w arkuszu Historia komórkę np. E2
2. Dane -> Poprawność danych... -> Karta: Kryteria -> Zezwalaj: Zakres komórek -> Źródło: $Stan_Towar_1.$C$2:$H$2

Jeśli chodzi o listę przedmiotów, to nie mam pomysłu. Aktualnie mogę zasugerować przeniesienie danych z Stan_Towar_(2...n) do Stan_Towar_1 i wykonać, to samo, co w punkcie 2.
LibreOffice 5.1.6 (64bit)
Kubuntu 16.04 (64bit)
Wszelkie uwagi lub chęć udziału przy polonizacji LibreOffice proszę kierować na adres: pol_lo at pro.wp.pl
syzyf37
Posty: 11
Rejestracja: pt lip 27, 2012 10:13 pm

Re: Taki prosty magazyn...

Post autor: syzyf37 »

Witam!

Zrezygnowałem z kilku arkuszy ze stanem towaru na rzecz jednego.
Udało się wykonać definicje w "Poprawność danych" i wykonać pola wyboru dla towaru w Historii.

Dziękuję za pomoc.

Projekt zrealizowany dokładnie tak, jak był zamierzony.

Pozdrawiam

Syzyf37
OpenOffice.org 3.3.0 na Windows 7
syzyf37
Posty: 11
Rejestracja: pt lip 27, 2012 10:13 pm

Re: Taki prosty magazyn...

Post autor: syzyf37 »

Mam jeszcze taki jeden pomysł... i pytanie.

Załóżmy, że w arkuszu „stan” jest bardzo dużo towarów, można je jednak podzielić np. na trzy kategorie: Kat 1, Kat 2 i Kat 3

W arkuszu „historia” dla ułatwienia wpisywania towarów, w kolumnie C – kategoria towaru i w kolumnie D – nazwa towaru, dostępna jest rozwijana lista wyboru.

Czy jest taka możliwość aby lista wyboru w kolumnie D była zależna od wyboru dokonanego w kolumnie C? Np. jak w kolumnie C wybieram „kat 1” to w polu wyboru w kolumnie D mam dostępne tylko towary przypisane do „kat 1” (kolumny B i C w arkuszu „stan”)

W załączniku dokument z nowymi kolumnami.
Załączniki
Mag_1_v3.ods
(21.07 KiB) Pobrany 421 razy
OpenOffice.org 3.3.0 na Windows 7
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Taki prosty magazyn...

Post autor: belstar »

Witam
Odpowiedzi na ostatnie pytanie ci nie udzielę, ale mogę zaproponować inne rozwiązanie nad którym teraz się męczę. Zaglądaj tu co jakiś czas, jak skończę to wrzucę.

W żadnym przypadku nie sugeruję że moje rozwiązanie jest lub będzie lepsze, ale co szkodzi spróbować

Cierpliwości
Pozdrawiam
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Raknor
Posty: 509
Rejestracja: pt lut 19, 2010 3:32 pm
Lokalizacja: Warszawa
Kontakt:

Re: Taki prosty magazyn...

Post autor: Raknor »

W arkuszu Stan utworzyłem dodatkowe kolumny Kat 1, Kat 2, Kat 3 oraz drugą serię kolumn Kat 1, Kat 2, Kat 3 w celu uporządkowania zwracanych wyników z pierwszej serii.

Pierwsza seria Kat 1, Kat 2, Kat 3 zawiera formułę:

Kod: Zaznacz cały

=JEŻELI($B3=L$2;$B3&"_"&LICZ.JEŻELI($B$3:$B3; L$2)&".";"")
W celu przyporządkowania liczby porządkowej w kolumnie Kategoria towaru dla występujących wyrażeń Kat (1...n) w arkuszu Stan.

Druga seria Kat 1, Kat 2, Kat 3 zawiera formułę:

Kod: Zaznacz cały

=JEŻELI(CZY.BRAK(PODAJ.POZYCJĘ(P$2&"_"&$A3; L$3:L36;0));"";INDEKS($C$3:$C$36;PODAJ.POZYCJĘ(P$2&"_"&$A3; L$3:L36;0)))
W celu uporządkowania zwracanych wyników z pierwszej serii na potrzeby utworzenia listy przedmiotów w arkuszu Historia. Stosując "" zwracane jest puste pole tekstowe, które jest uwzględnianie jako pozycja w liście rozwijanej. A porządkując wyniki, przedmioty są na początku listy dla danej kategorii.

Dane -> Poprawność danych... dla przedmiotów, tym razem ma taką formułę:

Kod: Zaznacz cały

JEŻELI($Historia.$C2=$Stan.$P$2;$Stan.$P$3:$P$36;JEŻELI($Historia.$C2=$Stan.$Q$2;$Stan.$Q$3:$Q$36;JEŻELI($Historia.$C2=$Stan.$R$2;$Stan.$R$3:$R$36;"")))
W zależności od sąsiadującego pola Kat (1...n) w arkuszu Historia zwracana jest lista w oparciu o uporządkowane wyniki Kat 1, Kat 2, Kat 3 z arkusza Stan.

UWAGA: Obecne formuły uwzględniają pierwsze 36 wierszy kolumn Kat (1...n) z arkusza Stan. Trzeba sobie zakres zmienić do odpowiednich rozmiarów.

W załączniku plik demonstracyjny.
Załączniki
Mag_1_v4.ods
(24.41 KiB) Pobrany 602 razy
LibreOffice 5.1.6 (64bit)
Kubuntu 16.04 (64bit)
Wszelkie uwagi lub chęć udziału przy polonizacji LibreOffice proszę kierować na adres: pol_lo at pro.wp.pl
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Taki prosty magazyn...

Post autor: belstar »

Witam
Zgodnie z obietnicą, wrzucam swoje wypociny.
Uwagi mile widziane.
Pozdrawiam
Załączniki
Mag_1_a.ods
(44.32 KiB) Pobrany 1121 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS
ODPOWIEDZ