[SOLVED] Cennik

Użytkowanie arkusza kalkulacyjnego
ŁUKASZ
Posty: 1
Rejestracja: ndz sie 11, 2019 12:43 pm

[SOLVED] Cennik

Post autor: ŁUKASZ »

Witam.
Jest to mój pierwszy wątek więc proszę o wyrozumiałość :D
Próbuje stworzyć w arkuszu coś na wzór cennika . Problem w tym że nie wiem jak napisać funkcje.
Ale po kolei. W pierwszym arkuszu mam cennik produktów (kod , nazwę , cenę i m2)
i chciałbym w drugim arkuszu (wycena ) po wpisaniu kodu żeby wszystkie dane się uzupełniły .
I własnie z tą funkcją nie umiem sobie poradzić. w załączniku plik z tym jak bym chciał żeby to wyglądało.
Załączniki
cennik.ods
(14.56 KiB) Pobrany 133 razy
Ostatnio zmieniony pn sie 12, 2019 11:53 pm przez ŁUKASZ, łącznie zmieniany 1 raz.
Open Office 4.1.6
Windows 10
Awatar użytkownika
Jermor
Posty: 2238
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Cennik

Post autor: Jermor »

Ty nie musisz pisać funkcji. Musisz wiedzieć jakiej funkcji wbudowanej użyć w swoim problemie. Potrzebna jest ci jakaś funkcja wyszukiwania, a tych jest kilka, np.: PODAJ.POZYCJĘ, WYSZUKAJ.PIONOWO, WYSZUKAJ. W związku z tym i tworzone formuły mogą być rożne.
Najpierw jednak kilka słów o twoim arkuszu. Zarówno cennik jak i wycena będą tabelami o dużej ilości wierszy. Już teraz dla wyceny zarezerwowałeś ich 400. To oznacza, że gdy będziesz wpisywał wartości w okolicach 40. wiersza, zniknie ci nagłówek tabeli i znajdujące się w okolicy, na bieżąco podsumowywane, pozycje RAZEM. Dlatego powinieneś zmodyfikować dwa pierwsze wiersze i przytwierdzić je. Dzięki temu przy przewijaniu tabelki zawsze będą widoczne. Takie poprawione modyfikacje zwracam ci w przykładowym pliku.
Po drugie, do obliczania wartości produktu (użyłeś nagłówka CENA RAZEM, co nie jest adekwatne do tego co reprezentuje ta liczba), czyli iloczynu ceny i ilości sztuk zastosowałeś funkcję ILOCZYN. Niby jest OK ale... Jeżeli w formule w postaci =ILOCZYN(A1;B1) jedna z komórek jest pusta, to jest traktowana jak 1 i dostajesz fałszywy wynik. Lepiej po prostu napisać formułę =A1*B1.
Po trzecie w formule sumowania wartości produktów napisałeś =SUMA(G2:G400;G400) co jest chyba tylko zwykłą pomyłką, bo do całej sumy dodajesz jeszcze zawartość komórki G400.
Musisz zdawać sobie sprawę z konieczności jednoznacznego wpisywania kodów produktów, one bowiem są podstawą do wyszukania danych w cenniku. U ciebie, w tych przykładowych kodach, wpisałeś K1 do K5, ale kod K3 jest wpisany jako litera K, cyfra 3 i znak spacji. W tej sytuacji szukanie kodu K3 skończyłoby się niepowodzeniem, mimo, że wizualnie byłby widoczny (znaku spacji nie widać).
W zwracanym ci przykładzie zastosowałem nazwy dla obszarów cennika. Nazwę "Cennik_kod" zastosowałem do obszaru zawierającego kody produktów w arkuszu "Cennik". Do pozostałych kolumn zastosowałem nazwę "cennik". Będzie to wygodniejsze w pisaniu formuł.
Wprowadziłem dodatkową klumnę w arkuszu "wycena" i nazwałem ją "Robocza". Kolumnę tę możesz ukryć w działającym arkuszu. Wprowadziłem ja aby umieścić w niej numer pozycji na której w obszarze "Cennik_kod" zostanie znaleziony kod wpisany do komórki obok. Rzecz w tym, że jeżeli kod nie zostanie znaleziony ta formuła zwróci błąd #N/D mówiący o tym, że albo wpisałem błędny kod albo takiego kodu nie ma w cenniku.
Formuły w kolumnach "NAZWA", "CENA" i "M2" przy pomocy funkcji INDEKS zwracają wartości pobrane z obszaru "cennik". INDEKS jest częścią funkcji JEŻELI, która najpierw sprawdza, czy w komórce roboczej jest błąd (wspomniane #N/D) i jeśli jest to wstawia tylko pusty ciąg.
Co jeszcze powinieneś zrobić? W arkuszu "wycena" komórki w kolumnie "KOD" i "SZT" powinieneś sformatować jako niechronione a następnie włączyć ochronę tego arkusza. Dzięki temu nikt niechcący nie zmieni zawartości komórek, które zostały "obliczone" na podstawie wpisanego kodu i ilości sztuk.
Załączniki
Łukasz cennik A.ods
(15.17 KiB) Pobrany 158 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ