Robert K.  Dołączył: 24.07.2008
Excel raz jeszcze Cytuj
Jeszcze raz poproszę o podpowiedź w sprawie Excelka:
Mamy kilka liczb i odpowiadające im wartości/wyniki.
1 2
2 3
3 5
4 3
5 4
6 4
7 4
8 4
9 6
10 6
11 3
Chcę w sąsiednich kolumnach mieć tę "tabelkę" posortowaną wg kolumny 2. Wydawało mi się to proste, ale się zamotałem i nie mogę wybrnąć.
W sąsiedniej kolumnie formułą MIN.K($B$1:$B$11;A1) "sortujemy" kolumnę wyników, otrzymamy więc:
1 2 2
2 3 3
3 5 3
4 3 4
5 4 4
6 4 4
7 4 4
8 4 5
9 6 6
10 6 6
I teraz chcę w kolejnej kolumnie wyznaczyć liczby odpowiadające tym wynikom. Myślałem, że da się tak: PODAJ.POZYCJĘ(C1;$B$1:$B$11), ale niestety kicha:
1 2 2 1
2 3 3 2
3 5 3 2
4 3 3 2
5 4 4 8
6 4 4 8
7 4 4 8
8 4 4 8
9 6 5 8
10 6 6 10
11 3 6 10
A chcę, żeby było tak:
1 2 2 1
2 3 3 2
3 5 3 4
4 3 3 11
5 4 4 5
6 4 4 6
7 4 4 7
8 4 4 8
9 6 5 3
10 6 6 9
11 3 6 10
Jak to zrobić?
(mam nadzieję, że opisane zrozumiale...)
 

opiszon  Dołączył: 29.01.2008
Cytuj
nie znam się na excelu, ale patrząc na to algorytmicznie, to powinieneś najpierw wyznaczyć pozycję a dopiero potem sortować, ale nie jedną kolumnę, ale obie (tzn krotkę składającą się z pozycji i wartości)
 

DevilDead  Dołączył: 10.09.2012
Cytuj
A tabele przestawne nie pomogą w sortowaniu ??
 

Antro  Dołączył: 28.01.2012
Cytuj
 

Robert K.  Dołączył: 24.07.2008
Cytuj
opiszon, nie łapię... :oops:
DevilDead, nie mogę ich zastosować w arkuszu; to ma być formułami.
Antro, Dzięki! Pokręcone te formuły, ale chyba uda mi się coś z nich wykorzystać. Nie sądziłem, że musi to być takie skomplikowane...
Chętnie przygarnę prostsze rozwiązanie - jeśli jest :-)
 
barmiska  Dołączył: 27.08.2014
Cytuj
Rozwiązanie pokazane przez Antro mniej więcej realizuje pomysł opiszona :-)
Najpierw robi RANK - przypisuje kolejność, a potem wskazuje wartości dla danej rangi (INDEX + OFFSET)
(ale nie wczytywałem się szczególnie, nie lubię formuł tablicowych)
Jeśli to nie jest dokładne zadanie (tzn nie dostałeś właśnie tak sformułowanego zadania), to chyba bym szukał innego rozwiązania problemu.
Pzdr.
 

Robert K.  Dołączył: 24.07.2008
Cytuj
barmiska, podaną przez Antro formułę zastosowałem i działa, ale kompletnie nie łapię, jak ona funkcjonuje :oops:
Co do sformułowania zadania: to żadne zadanie... Wymyśliłem sobie jakiś czas temu pewien arkusz do dość specyficznych obliczeń i co jakiś czas wracam do starego pomysłu i próbuję coś dorobić/dokończyć...
Różnie mi z tym idzie, ale ważne, że czasem widać progres...

Co do szukania innego rozwiązania: chętnie przygarnę pomysł/sugestię :-)
Z góry :-B
 
barmiska  Dołączył: 27.08.2014
Cytuj
Robert K. napisał/a:
Co do szukania innego rozwiązania: chętnie przygarnę pomysł/sugestię

:-)
Bardziej chodzi mi o to, że jeśli to jest jedyny sposób rozwiązania Twojego [większego] problemu, to albo jest to faktycznie bardzo specyficzny problem ;-) albo gdzieś na wcześniejszym etapie może da się pójść inną drogą żeby go rozwiązać.
Pzdr.
 

Robert K.  Dołączył: 24.07.2008
Cytuj
barmiska napisał/a:
gdzieś na wcześniejszym etapie może da się pójść inną drogą żeby go rozwiązać

No to wykorzystując Twoją cierpliwość ;-) :
Kolumny 1 i 2 z pierwszego postu są punktem wyjściowym (cofnięcie się bardziej wstecz już raczej nie wchodzi w grę...).
Celem jest posortowanie kolumny 1 wg danych z kolumny 2. Oczywiście formułą, a nie narzędziem sortowania.
Wyszedłem z założenia, że kolumna MIN.K będzie konieczna jako robocza/pośrednia, ale może tym założeniem coś namieszałem i prościej będzie bez niej?
 
barmiska  Dołączył: 27.08.2014
Cytuj
Robert K. napisał/a:
Celem jest posortowanie kolumny 1 wg danych z kolumny 2

Nie wydaje mi się :-)

- co robisz?
- sortuję kolumny.
- aa, jońskie, korynckie...
- nie, kolumnę jeden i dwa. :-)

Ale jeśli problem jest faktycznie taki że, rozwiązuje go jedynie użycie excela, sortując dane liczbowe w ten konkretny sposób i ręczne "sortowanie.../wg kolumny B i A" nie wchodzi w rachubę (stąd funkcja), i inaczej się nie da, to chyba bardziej niż Antro nie pomogę :-)
Użycie formuły tablicowej też wymaga ( ? ) działania ręcznego (Ctrl+Shift+Enter).

Wydaje mi się jednak że albo dane wejściowe skądś pochodzą, albo gdzieś idą wyniki, albo dostępne jest inne narzędzie niż excell (unix: sort), i może być szansa na zrobienie tego w inny sposób.
Choć nie ma co przesadzać - jak działa - nie ruszaj! :-)
Pzdr
 

Robert K.  Dołączył: 24.07.2008
Cytuj
Żeby nie zakładać nowego wątku, kontynuuję z ciut innym problemem excelowym:
dziewuszki z "księgowości" podpytują, czy da się jakoś wspomóc Excelem taką sprawę:
z jakiegoś branżowego programu "księgowego" mogą wygenerować do Excela listę/zestawienie płatności. Czyli tabelę jakichś kwot/liczb. Czasem bywa tak, że jakaś faktura płacona jest częściami; w różnych terminach, z różnymi opisami (szczegółów nie znam).
I często potrzebują potem wskazać/wyszukać, które pozycje w arkuszu (zestawieniu) składają się na daną fakturę/kwotę. Czyli:
1- mamy kolumnę z liczbami (wartości najczęściej niemal unikalne, aczkolwiek jakieś powtórzenia czasem się zdarzają),
2- mamy wartość faktury (liczbę), która była płacona "na raty",
3- potrzebujemy znaleźć w zestawieniu liczb takie wartości, których suma daje wartość z p.3. Musimy przy tym uwzględnić, że czasem wariantów może być kilka...
Więc chyba zadanie sprowadziłoby się do wskazania w zestawieniu wszystkich takich liczb, które w "jakiejś" kombinacji mogą dać sumę poszukiwaną. Jeśli spośród setek pozycji odszuka się kilka/kilkanaście, to już będzie wielka pomoc.
Obiecałem podpytać "wiedzących", co niniejszym czynię :-) Macie pomysł?
 

spacja  Dołączyła: 15.03.2011
Cytuj
Ja też czasem potrzebuję znaleźć w kolumnie liczb kilka takich, które dadzą konkretną sumę, z tym, że w moich liczbach są również kwoty ujemne :)

Jeśli ktoś zna metodę, to ja bardzo chętnie skorzystam.
 

opiszon  Dołączył: 29.01.2008
Cytuj
Robert, jeżeli dobrze rozumiem jest to przedstawienie znanego w informatyce Problemu Plecakowego.

Trzeba by znaleźć do niego implementację w Excel (VB)

[ Dodano: 2015-09-10, 22:38 ]
Strzelam w ciemno
http://www.excel-easy.com...ck-problem.html
 
barmiska  Dołączył: 27.08.2014
Cytuj
Robert K.,
Nie za bardzo rozumiem, jakie dane są na wejściu.
co jest w 1 kolumnie? liczba - kwota wpłaty, czy liczba - numer faktury? (Chyba nie numer faktury, bo to rozwiązuje sprawę ;-) )
A w kolumnie 2 jest całkowita kwota faktury?
Przykładowe dane:
wpłata kwota_fv (tych danych nie ma-nr fv)
20,00 20,00 (fv 001)
10,00 100,00 (fv002)
90,00 100,00 (fv002)
20,00 100,00 (fv003)
80,00 100,00 (fv003)

i chodzi o to żeby powiązać 2 i 3 pozycję, oraz 4 i 5?
Na pewno nie ma innych danych? jak to robią ręcznie? Po czym poznają, że wybrały dobre wartości?
(niestety przez 2 tygodnie nie pomogę, ale plik z przykładem komukolwiek bardzo pomoże)
Pzdr
 

Robert K.  Dołączył: 24.07.2008
Cytuj
opiszon, spróbuję załapać inf. z podanego linka. Dzięki.
barmiska, w kolumnie (obojętnie której - to się łatwo dostosuje) są po prostu liczby. Wartości.
Mamy np.:
1 123,32
2 456,45
3 654,65
4 234,56
5 123,12
6 456,12
7 987,12
8 400,00
9 81,00
itd... (dużo liczb)
i wiemy, że była sobie fakturka na kwotę np. 481,00 zł.
I trzeba wyszukać z kolumny danych, że na tę fakturę składają się (mogą się składać) pozycje 8+9, ale też 1, 4 i 5.
Jak to robią? Ręcznie.
Jak wspomniałem, dane są niemal unikalne. Powtarzalność kwot oczywiście bywa, ale nie jest to sytuacja zbyt częsta...
Jak sprawdzają poprawność wyboru? Szczegółów nie znam, ale przypuszczam, że wchodzą w jakieś szczegółowe dane lub też wyszukują fizycznie fakturę (dokument w segregatorach) i się upewniają... Nie mam pewności.
 

dybon  Dołączył: 05.12.2007
Cytuj
Jak dla mnie zbyt mało precyzyjne dane wejściowe.
Czy nie da się z programu wyeksportować dodatkowych kolumn - nr faktury, skrót lub nazwa firmy - wtedy excelem da się ogarnąć.

Przy Twoich założeniach 2 liczby dadzą poprawny wynik, ale może się okazać że i 3 a nawet 4 również dadzą wynik poprawny.
Wg mnie bez dodatkowych danych zabawa nie ma sensu.
 

Robert K.  Dołączył: 24.07.2008
Cytuj
dybon, jest dokładnie tak, jak piszesz. Mało danych.
Ale tak właśnie sprawa wygląda i dziewczyny sobie jakoś radzą...
Dodatkowa dana typu "nr faktury" oczywiście nie istnieje :-) Gdyby była, nie byłoby problemu.
Masz rację, że poprawny wynik mogą dać albo 2, albo 3 albo więcej liczb.
Widziałem to jako "warianty" makra (bo formułą chyba nie da się tego ogarnąć). Warianty, tzn. odrębne makropolecenia, sprawdzające czy istnieją 2 składowe sumy, 3 lub 4. Większej liczby składników sumy chyba nie ma potrzeby sprawdzać - nie sądzę, aby na tak wiele części dzielono płatności z jednej faktury...

[ Dodano: 2015-09-17, 21:15 ]
spacja, znalazłem pomysł, który może być pomocny, więc się dzielę:
obok kolumny danych (np. A) tworzymy dwie kolumny pomocnicze. Pierwszą (B)wypełniamy zerami, druga (C) z formułą A1*B1 (i kopiujemy formułę w dół). Na końcu wstawiamy formułę sumującą dane w kolumnie.
Teraz uruchamiamy Solver.
"Ustaw cel" to komórka z sumą wartości kolumny C. w sekcji "Na" ustawiamy opcję "Wartość" i wpisujemy w polu liczbę (sumę), której składowych poszukujemy.
"Przez zmienianie komórek" podajemy kolumnę B (obecnie z zerami).
Teraz przycisk "Dodaj" i dodajemy ograniczenia: wartości w kolumnie B całkowite, do tego >=0 i <=1 (czyli albo 0, albo 1).
I wsjo.
W przypadku, o którego rozwiązanie prosiłem, takie coś wystarczy. Dane są często unikalne, więc szybko znajduje się właściwe kwoty. Można kombinować z "Metodą rozwiązywania", ale w moim przypadku nie było to konieczne.
 

SlicaR  Dołączył: 28.04.2013
Cytuj
To teraz ja!
Potrzebuję wybrnąć z następującego problemu:
Robię arkusz głupkoodporny. Mam w nim tabelę, która ma być sortowalna. Niestety w komórkach j13:j132 mam zawartą formułę, którą chcę ochronić przed (mniej lub bardziej) przypadkowym zepsuciem. Nie mogę zablokować tego zakresu ochroną arkusza, bo się nie posortuje. Ustawiłem poprawność danych na liczby od 10000 do 11000 co raczej nikomu do głowy nie przyjdzie. Backspace nie działa na tych komórkach i dobrze. Ale działał "delete" więc zastosowałem Application.OnKey "{DELETE}", "" i już nie działa. Pozostaje tylko 1 problem: pod prawym przyciskiem (lub tez w menu "na górze") mam aktywne wyczyść zawartość, które czyści doskonale wszystko. Czy ktoś ma jakiś pomysł jak to obejść??? Dodatkowym utrudnieniem jest to, że chciałbym żeby działało to mniej więcej na wszystkich Excelach od 2003 w górę...

[ Dodano: 2016-04-24, 02:55 ]
Chyba poradziłem. Zakresy działają tylko trzeba je mądrze zrobić.
 

Robert K.  Dołączył: 24.07.2008
Cytuj
Znowu Excelowy problem.
Po raz kolejny w Firmie kombinujemy z ulepszeniem skoroszytu to gromadzenia informacji o korespondencji wychodzącej. Przychodzącą jakoś tam ogarniamy...
Oprócz kilku kolumn informacyjnych (Lp, data, do kogo, o co chodzi itp.) konieczne jest nadanie odpowiedniego numeru i chcemy to jakoś zautomatyzować.
Elementem składowym numeru pisma jest numer sprawy oraz numer kolejny pisma w sprawie.
Założenie jest takie, że wpisujemy w jakiejś kolumnie (dla prostoty: A) numer odpowiedniej sprawy (wykaz/numeracja spraw opisana będzie w osobnym arkuszu) a w kolumnie B ma wskoczyć numer kolejny pisma w sprawie.
Dla jednego arkusza jest proste: wpisujemy w kolumnie B np. takie coś (zaczynając od 4 wiersza):
=JEŻELI(A4="";"";LICZ.JEŻELI($A$4:A4;A4))
i po skopiowaniu formuły w dół mamy sprawę rozwiązaną. Wpisanie po raz kolejny tego samego numeru sprawy wygeneruje kolejny numer pisma w danej sprawie.
Ale:
skoroszyt składa się z kilkunastu arkuszy, każdy opisany inicjałami odpowiadającymi konkretnemu pracownikowi. Każdy pracownik może mieć konieczność napisania pisma w sprawie, którą poruszał już ktoś wcześniej, więc musi być jakiś mechanizm, blokujący możliwość nadania tego samego numeru pisma w danej sprawie.
Jeden pracownik może napisać w skali roku (bo skoroszyt ma obejmować rok) np. 10 pism, inny 100, a jeszcze ktoś np. 400. Zakładamy, że te 400 to max - formuły nie muszą sprawdzać większej ilości wierszy w każdym z arkuszy.
Jak "oformułować" taki skoroszyt, żeby w każdym arkuszu działał mechanizm automatycznie wskazujący kolejny numer pisma w danej sprawie, sprawdzając dane we wszystkich arkuszach skoroszytu?
Wykonalne bez makr?
 

SlicaR  Dołączył: 28.04.2013
Cytuj
Czy ja dobrze rozumiem, że chcesz, żeby po wpisaniu w kolunmę A numeru sprawy w kolumnie B automatycznie nadawało jej kolejny numer pisma, biorąc pod uwagę numery pism nadane tej sprawie w 13 arkuszach?

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach