Wartość zależna od kilku parametrów. Kombinacje funkcji.
Wartość zależna od kilku parametrów. Kombinacje funkcji.
Głowię się nad formułą, pozwalającą uzyskać odpowiednią wartość liczbową, w zależności od kilku parametrów. W użyciu głównie JEŻELI, ale różne wariacje nie przynoszą efektu.
Dlatego zwracam się (nie pierwszy raz zresztą) do Was o pomoc w rozwiązaniu problemu.
W załączniku przesyłam plik z nakreśleniem problemu.
Dlatego zwracam się (nie pierwszy raz zresztą) do Was o pomoc w rozwiązaniu problemu.
W załączniku przesyłam plik z nakreśleniem problemu.
- Załączniki
-
- JedenGosc_20230719.ods
- (23.45 KiB) Pobrany 94 razy
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Twoje wartości INDEX są określane dla narastających wartości FAZA, a w ramach tej samej fazy: dla narastających wartości POZIOM. Jest to tzw. porządek leksykograficzny, czyli można powiedziać: dwuetapowy porządek liniowy.
Propozycja rozwiązania wykorzystuje funkcję VLOOKUP czyli WYSZUKAJ.PIONOWO.
Funkcja ta przeprowadza wyszukiwanie na podstawie wartości kryterium. Opcja 1 wpisana jako ostatni argument powoduje tzw. wyszukiwanie aproksymacyjne względem kryterium rosnąco uporządkowanego — w tym przypadku odpowiedzią jest wpis dotyczący największej wartości z kolumny nie przekraczającej jego bieżącej wartości. Przygotowałem więc kryterium wykszukiwania w postaci 100*FAZA + POZIOM. Będzie to działać dobrze, o ile liczba poziomów w ramach jednej fazy będzie jedno- lub dwucyfrowa.
W załączniku
* obszar j12:k19 zawiera stablicowaną postać Twojej funkcji INDEX
* kolumna G przeprowadza klasyfikację Twoich danych
* w kolumnie H znajduje się porównanie wartości wpisanych jako stałe z wyliczonymi wg formuły.
Propozycja rozwiązania wykorzystuje funkcję VLOOKUP czyli WYSZUKAJ.PIONOWO.
Funkcja ta przeprowadza wyszukiwanie na podstawie wartości kryterium. Opcja 1 wpisana jako ostatni argument powoduje tzw. wyszukiwanie aproksymacyjne względem kryterium rosnąco uporządkowanego — w tym przypadku odpowiedzią jest wpis dotyczący największej wartości z kolumny nie przekraczającej jego bieżącej wartości. Przygotowałem więc kryterium wykszukiwania w postaci 100*FAZA + POZIOM. Będzie to działać dobrze, o ile liczba poziomów w ramach jednej fazy będzie jedno- lub dwucyfrowa.
W załączniku
* obszar j12:k19 zawiera stablicowaną postać Twojej funkcji INDEX
* kolumna G przeprowadza klasyfikację Twoich danych
* w kolumnie H znajduje się porównanie wartości wpisanych jako stałe z wyliczonymi wg formuły.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Dziękuję @Jan_J za szybką odpowiedź. Zaznajamiam się z plikiem i widzę w kolumnie G odwołania do E. Przy czym kolumnę E również wypełniłem "ręcznie". Normalnie jej nie ma...
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Być może, ale jedyną informacją o Fazie, jaką mogłem się kierować, jest
„4. W kolumnie E “ręcznie” wpisałem nr Fazy”.
Wydaje mi się, że trzeba zastosować schemat trochę podobny do Poziomu z kolumny D. Ale domyślanie się sposobu obliczania z samych wartosci może być mylne. Zwłaszcza, że stosujesz chyba kryterium skompletowania fazy przy poziomie 10, a jak jest przy wyższych, to nie wiadomo na pewno.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Która faza można wyczytać z POZIOMU. Legenda w kolumnach G-I (Poziom w H).
Jednak faktycznie, zawarte w pliku informacje mogą być niewystarczające, dlatego go uzupełniłem (w polach G17-K24).
Załączam plik w uzupełnionej wersji.
- Załączniki
-
- JedenGosc_20230719v2.ods
- (25.61 KiB) Pobrany 78 razy
Ostatnio zmieniony czw lip 20, 2023 12:10 pm przez JedenGość, łącznie zmieniany 1 raz.
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Nadal nie rozumiem sposobu wyznaczania Fazy w kolumnie E.
Tabelkaktórą przepisałem do postaci nadającej się do przeszukiwaniaopisuje zależność wartości Indeksu od wartości pary (Faza, Poziom). Moja formuła odtwarza tę zależność.
Ale od czego zależy Faza? Ja przyjąłem, że została opisana przez eksperta jako część danych wejściowych. Bo nie rozumiem sposobu jej wyznaczania.
Na przykład
* w wierszu 11. koniec serii w fazie 1 osiąga poziom 10. W następnym wierszu rozpoczyna się faza 2. Dlaczego?
* w wierszu 12. koniec serii w fazie 2 osiąga poziom 1. W następnym wierszu rozpoczyna się faza 1. Dlaczego?
* w wierszu 22. koniec serii w fazie 2 osiąga poziom 2. W nastepnym wierszu rozpoczyna się faza 1. Dlaczego?
Tabelka
Kod: Zaznacz cały
FAZA POZIOM INDEKS
1 1-4 1
1 5-7 2
1 >=8 3
2 1-4 4
2 5-7 5
2 >=8 6
3 >=1 7
Kod: Zaznacz cały
100*faza+poziom indeks
100 1
105 2
108 3
200 4
205 5
208 6
300 7
Ale od czego zależy Faza? Ja przyjąłem, że została opisana przez eksperta jako część danych wejściowych. Bo nie rozumiem sposobu jej wyznaczania.
Na przykład
* w wierszu 11. koniec serii w fazie 1 osiąga poziom 10. W następnym wierszu rozpoczyna się faza 2. Dlaczego?
* w wierszu 12. koniec serii w fazie 2 osiąga poziom 1. W następnym wierszu rozpoczyna się faza 1. Dlaczego?
* w wierszu 22. koniec serii w fazie 2 osiąga poziom 2. W nastepnym wierszu rozpoczyna się faza 1. Dlaczego?
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Wiersz 12.Jan_J pisze: ↑czw lip 20, 2023 11:19 am * w wierszu 11. koniec serii w fazie 1 osiąga poziom 10. W następnym wierszu rozpoczyna się faza 2. Dlaczego?
* w wierszu 12. koniec serii w fazie 2 osiąga poziom 1. W następnym wierszu rozpoczyna się faza 1. Dlaczego?
* w wierszu 22. koniec serii w fazie 2 osiąga poziom 2. W nastepnym wierszu rozpoczyna się faza 1. Dlaczego?
D12:
Kod: Zaznacz cały
JEŻELI($C11=1;1;D11+1)
Wiersz 22.
J.W., tym razem zgodnie z legendą J21-K21.
Jeżeli mamy POZIOM 1, w wierszu poprzedzającym była FAZA 2 i POZIOM 2 to zaczynamy od FAZA 1 i INDEKS 1.
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Ok, czyli bieżąca faza i poziom z G18:H23 (albo Faza i Indeks z G18:I24) wyznaczają nową fazę i nowy indeks w przypadku rozpoczęcia nowej serii.
Załączam modyfikację * W kolumnach J:K zostawiłem Twoje dane; w kolumnach H:I sprawdzam zgodność formuł z Twoimi danymi. Wszystko to można wyrzucić.
* Twoją tabelę M2:O9 można wyrzucić. Jej rolę przejmuje M12:P19.
* Tabela z danymi M13:P19 do interpolacji zyskała nazwę TABELA_FAZ; łatwiej zarządzać nazwanym obszarem niż adresem blokowym.
* Nie ma zabezpieczenia przed przekroczeniem dozwolonego numeru poziomu w serii. Interpolacja będzie działać, o ile będzie to numer jedno- albo dwucyfrowy.
Załączam modyfikację * W kolumnach J:K zostawiłem Twoje dane; w kolumnach H:I sprawdzam zgodność formuł z Twoimi danymi. Wszystko to można wyrzucić.
* Twoją tabelę M2:O9 można wyrzucić. Jej rolę przejmuje M12:P19.
* Tabela z danymi M13:P19 do interpolacji zyskała nazwę TABELA_FAZ; łatwiej zarządzać nazwanym obszarem niż adresem blokowym.
* Nie ma zabezpieczenia przed przekroczeniem dozwolonego numeru poziomu w serii. Interpolacja będzie działać, o ile będzie to numer jedno- albo dwucyfrowy.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Działa! Wykonałem kilka testów i jak na tę chwilę, wszystko pięknie działa!
@Jan_J - DZIĘKUJĘ!
@Jan_J - DZIĘKUJĘ!
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Jednak nie. Jest błąd.
Formuła w kolumnie E odnosi się do kolumny J ze stałymi wartościami Fazy.
Właśnie o to się rozchodzi, żebym nie musiał wypisywać faz ręcznie. Teraz to napisałem dla zobrazowania tematu.
Gdy z formuły usunę JEŻELI i odwołanie do kolumny J, to wtedy pojawiają się błędy.
Reasumując.
Widzimy tylko POZIOM. Teraz chodzi o zbudowanie formuł, które obliczą FAZĘ i INDEKS.
Formuła w kolumnie E odnosi się do kolumny J ze stałymi wartościami Fazy.
Właśnie o to się rozchodzi, żebym nie musiał wypisywać faz ręcznie. Teraz to napisałem dla zobrazowania tematu.
Gdy z formuły usunę JEŻELI i odwołanie do kolumny J, to wtedy pojawiają się błędy.
Reasumując.
Widzimy tylko POZIOM. Teraz chodzi o zbudowanie formuł, które obliczą FAZĘ i INDEKS.
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Tak rzeczywiście. Obliczanie numeru Fazy pobiera poprzednią wartość Fazy z kolumny J zamiast z E. Ponieważ wartości są takie same, nie jest to wielki problem. Podmieniłem formułę w załączniku ↑
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
To faktycznie, nie był wielki problem, ale mnie przerósł. Dziękuję!
Zastanawia mnie jeszcze kwestia WYSZUKAJ.PIONOWO.
Np.
Będzie: 100*1+9=109
W TABELA_FAZ jest 108 i następne 200. Jak wyszuka 109? Przypisze 109 do pierwszej niższej w tabeli?
Zastanawia mnie jeszcze kwestia WYSZUKAJ.PIONOWO.
Np.
Kod: Zaznacz cały
WYSZUKAJ.PIONOWO(100*E38+D38;TABELA_FAZ; 3; 1)
W TABELA_FAZ jest 108 i następne 200. Jak wyszuka 109? Przypisze 109 do pierwszej niższej w tabeli?
Libre Office 24.8.1.2 / Windows 11
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Do ostatniej nie wyższej niż poszukiwana. Pod warunkiem, żeJedenGość pisze:W TABELA_FAZ jest 108 i następne 200. Jak wyszuka 109? Przypisze 109 do pierwszej niższej w tabeli?
* wpisy w kolumnie wyszukiwanych kategorii są uporządkowane rosnąco;
* ostatni, czwarty argument funkcji nie jest podany albo wynosi 1.
Więcej: https://help.libreoffice.org/latest/pl/ ... _id3153152
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wartość zależna od kilku parametrów. Kombinacje funkcji.
Skorygowałem błąd w tabeli. Dwa ostatnie wiersze miały niepoprawne wartości kryterium.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)