Formuła przyporządkowująca liczby do wskazanej wartości

Użytkowanie arkusza kalkulacyjnego
Ula
Posty: 4
Rejestracja: pt gru 30, 2022 10:26 pm

Formuła przyporządkowująca liczby do wskazanej wartości

Post autor: Ula »

Witam. Potrzebuję formuły, która zwróci zestaw liczb, które są przyporządkowane do tej samej wartości. Może nie będe zawile tłumaczyć, najszybciej można to zrozumieć z przykładu poniżej.
Jest to przykład uproszczony, w moim arkuszu będzie około 100-150 liczb z tych pomalowanych na pomarańczowo. Wszystkie liczby będą tylko całkowite i tylko nieujemne.
Liczby z wiersza nr 2 są ustawione chaotycznie - nie są posegregowane.
Liczy z wiersza nr 1 są posegregowane rosnąco lub malejąco.

Czy mógłby ktoś pomóc? Będę bardzo wdzięczna.
Załączniki
przyporzadkowanie.png
przyporzadkowanie.png (60.45 KiB) Przejrzano 630 razy
OpenOffice 4 / Windows 10 Home 64-bit
Jan_J
Posty: 4557
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Formuła przyporządkowująca liczby do wskazanej wartości

Post autor: Jan_J »

Warto pracować na kolumnach danych, nie na wierszach. W praktyce tak jest prościej.
Najpierw uporządkowałbym dane wg podwójnego kryterium: podstawowe niebieskie, drugorzędne brązowe.
Następnie wykrywałbym długości bloków o jednakowych wartościach w niebieskiej kolumnie (nawet funkcja licz.jeżeli do tego się nadaje), po czym transponowałbym bloki brązowe, tak by powstały wierszowe kopie poszczególnych fragmentów kolumny.
transpozycje_blokow_szkic.ods
pierwszy szkic realizacji, pod pewnymi względami jeszcze ułomny
(8.19 KiB) Pobrany 64 razy
Być może pracę, w ogóle bez formuł, załatwiłaby tabela przestawna. Nie jestem w tym biegły.

Ja bym to robił poza arkuszem, na strukturach słownikowych (tablice asocjacyjne). Rozwiązanie się napisać w kilku linijkach tekstu. Ale nie wiem, czy taka opcja wchodzi w grę.
JJ
LO (7.6) ∙ AOO (4.1) ∙ Python (3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Rafkus
Posty: 511
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Formuła przyporządkowująca liczby do wskazanej wartości

Post autor: Rafkus »

Wymyśliłem Tobie coś takiego:

Kod: Zaznacz cały

=INDEKS($A$1:$K$1; 1; MIN.K(JEŻELI($A$2:$K$2=$A6; KOLUMNA($A$2:$K$2); "");  KOLUMNA(A6)))
Funkcja indeks, z danego zakresu będzie będzie zwracała wartość z określonego wiersza i kolumny. Zakres składa się z jednego wiersza (stąd 1 w formule) natomiast numer kolumny trzeba wyznaczyć. Przy pomocy funkcji JEŻELI będzie sprawdzane czy w drugim wierszu na danym miejscu znajduje się poszukiwana wartość. Jeśli tak, zostanie zapamiętane w której jest kolumnie, jeśli nie zostanie zapamiętane NIC "". W ten sposób powstał nowy zbiór danych zawierający listę z numerami kolumn. Z tego zbioru przy pomocy funkcji MIN.K zostanie pobrany konkretny numer kolumny, określony funkcją KOLUMNA(An) (n to liczba) do INDEKSU.
transpozycje_blokow_szkic2.ods
(14.37 KiB) Pobrany 58 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
Awatar użytkownika
Jermor
Posty: 2233
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formuła przyporządkowująca liczby do wskazanej wartości

Post autor: Jermor »

@Rafkus - gratulacje.
Pozwoliłem sobie na niewielką modyfikację.
Zamiast ukrywać komórki z błędem przy pomocy formuły (ona zadziała tylko w LibreOffice), zastosowałem dla tego obszaru formatowanie warunkowe. Gdy komórka zawiera błąd, wyświetlaj białe fonty (na białym tle), gdy nie zawiera błędu dodaje tło. Tu zresztą wyszła kolejna różnica między LO a AOO. W LO można wybrać warunek: komórka "Jest błędem" lub "Nie jest błędem" w AOO takiej możliwości nie ma, więc trzeba skorzystać z formuły.
Rozszerzyłem też zakres wynikowy. Formalnie rzecz biorąc mogłaby wystąpić sytuacja, że taka sama liczba pojawi się w każdej komórce drugiego wiersza, wówczas musi pojawić się tyle wartości w wierszu ile jest ich w tym pierwszym.
Załączniki
transpozycje_blokow_szkic2_j.ods
(12.99 KiB) Pobrany 68 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.
Jan_J
Posty: 4557
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Formuła przyporządkowująca liczby do wskazanej wartości

Post autor: Jan_J »

Rafkus pisze: czw lut 02, 2023 4:56 pm Wymyśliłem Tobie coś takiego:

Kod: Zaznacz cały

=INDEKS($A$1:$K$1; 1; MIN.K(JEŻELI($A$2:$K$2=$A6; KOLUMNA($A$2:$K$2); "");  KOLUMNA(A6)))
Piękne!
JJ
LO (7.6) ∙ AOO (4.1) ∙ Python (3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ