w jaki sposób wypisać kwoty tak jak w dołączonym arkuszu w kategorii "zmienne" i "stałe" dla danego miesiąca?
chodzi o to, że plik importu ma ok 5000 wierszy a koszty zmienne chciałbym bezpośrednio wypisać jeden pod drugim.
koszty stałe i zmienne zliczone na miesiąc
-
- Posty: 224
- Rejestracja: pn wrz 23, 2013 2:48 pm
koszty stałe i zmienne zliczone na miesiąc
- Załączniki
-
- Bez tytułu 2.ods
- (15.52 KiB) Pobrany 129 razy
LibreOffice 7.6
Re: koszty stałe i zmienne zliczone na miesiąc
I znowu można to utworzyć stosując formuły macierzowe. Tutaj w przykładzie będę operował na nazwanych zakresach żeby było czytelniej:
Jest to formuła macierzowa zatem trzeba ją zatwierdzić przez jednoczesne wciśnięcie klawiszy CTRL+SHIFT+ENTER.
Nazwane zakresy to:
Koszty - twoja kolumna to w zależności od potrzeby: Koszty Zmienne lub Koszty Stałe lub Domowe w arkuszu import czyli jakieś dane z kolumny L, M, N;
DataT - twoja kolumna Data transakcji w arkuszu import czyli $A$2:$A$10;
DataZ - data zestawienia podana w wierszu nagłówkowym w arkuszu zmienne lub stałe np: M$1
Transakcje - twoja kolumna Szczegóły transakcji w arkuszu import czyli $D$2:$D$10;
Działanie: Koszty * (MIESIĄC(DataT)=MIESIĄC(DataZ)) * (ROK(DataT)=ROK(DataZ)) tworzy 0-1 macierz warunków, na podstawie której są wybierane odpowiednie wartości ze Szczegóły transakcji. Nie napisałeś w jakiej kolejności mają być wypisywane dane, dlatego wybrałem sobie najprostsze rozwiązanie a więc dane będą posortowane od wartości najmniejszej do największej dzięki funkcji MIN.K (opcjonalnie można zamienić na MAKS.K)
Można by się jeszcze pokusić o ukrycie błędów w przypadku podania wszystkich wartości lub braku jakichkolwiek wyników przy pomocy funkcji JEŻELI.BŁĄD( ). W załączniku zarys rozwiązania.
Kod: Zaznacz cały
=MIN.K( JEŻELI( Koszty * (MIESIĄC(DataT)=MIESIĄC(DataZ)) * (ROK(DataT)=ROK(DataZ)); Transakcje; ""); WIERSZ(G1))
Nazwane zakresy to:
Koszty - twoja kolumna to w zależności od potrzeby: Koszty Zmienne lub Koszty Stałe lub Domowe w arkuszu import czyli jakieś dane z kolumny L, M, N;
DataT - twoja kolumna Data transakcji w arkuszu import czyli $A$2:$A$10;
DataZ - data zestawienia podana w wierszu nagłówkowym w arkuszu zmienne lub stałe np: M$1
Transakcje - twoja kolumna Szczegóły transakcji w arkuszu import czyli $D$2:$D$10;
Działanie: Koszty * (MIESIĄC(DataT)=MIESIĄC(DataZ)) * (ROK(DataT)=ROK(DataZ)) tworzy 0-1 macierz warunków, na podstawie której są wybierane odpowiednie wartości ze Szczegóły transakcji. Nie napisałeś w jakiej kolejności mają być wypisywane dane, dlatego wybrałem sobie najprostsze rozwiązanie a więc dane będą posortowane od wartości najmniejszej do największej dzięki funkcji MIN.K (opcjonalnie można zamienić na MAKS.K)
Można by się jeszcze pokusić o ukrycie błędów w przypadku podania wszystkich wartości lub braku jakichkolwiek wyników przy pomocy funkcji JEŻELI.BŁĄD( ). W załączniku zarys rozwiązania.
- Załączniki
-
- Bez tytułu 2_2.ods
- (16.46 KiB) Pobrany 134 razy
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP