Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

excel - porównanie wielu wierszy z 1 konkretnym

19 Lip 2012 21:15 1934 16
  • Poziom 11  
    Witam
    Mam problem z uzyskaniem wartości jak w kolumnie D
    A - teoretycznie stała wartość
    B - kolumna wprowadzania danych (na raz tylko 1 wartość)
    C - kolumna wyników
    D - wartości które powinny się pojawić w kolumnie C po obliczeniach
    excel - porównanie wielu wierszy z 1 konkretnym

    Chcę uzyskać wartości końcowe w kolumnie C takie jak w kolumnie D
    Jak to ma działać ?
    - wprowadzam w kolumnie B w dowolnym wierszu tylko 1 wartość np 400
    - po wymnożeniu A i B otrzymuję wynik 400 który staje się bazą do wyliczenia pozostałych
    - wyniki poszczególnych wierszy muszą być takie same jak w kolumnie D (jak widać wartości bez przecinków czyli po zaokrągleniu)

    Wszelkie wyliczenia nie muszą zawierać się np w 1 funkcji w 1 kolumnie
    Niestety nie znam excela zbyt dobrze

    Za każdą pomoc sugestię z góry dziękuję
    Jeżeli problem ten da się rozwiązać poproszę o rozwiązanie jeszcze 1 kwestii
  • Moderator Programowanie
    Może w C1
    Code:
    =LICZBA.CAŁK(A1*MAX(B:B))
    i przeciągnąć w dół...
  • Poziom 11  
    Owszem to dało rezultat jak w kolumnie D
    Niestety nie do konca jest tak jak miało być
    - wartości w kolumnie C powinny być różne dla np 400*1 i dla 400*0,25
    - po wpisaniu 400 w innym wierszu kolumny B wynik kolumny C jest identyczny :(

    Proszę zerknąć na stronę:
    Naciśnij
    Jest to kalkulator wspomagający wymianę handlową i to właśnie chcę przenieść do excela (w uproszczonej wersji)

    Zauważyłem na w/w stronie że po wybraniu przedmiotu w lewym oknie i wpisaniu dla niego liczby wartość jego (zestawienie przedmiotów i ich wartości poniżej lewego okienka) ustawia się na "1" a tym samym zmienia to wartości innych przedmiotów

    Co można z tym zrobic ?
  • Użytkownik usunął konto  
  • Poziom 11  
    Najważniejsze aby system działał jak należy tzn tak jak na stronie ... wybieram przedmiot np wiadro wody wpisuje liczbe np 400 wciskam licz ... w rezultacie otrzymuje owe 400 wiader wody i resztę przedmiotów porównanych z wiadrami wody

    Przykład
    Dla 400 wiader wody " 400 at a ratio of 1:1 (1)"
    wychodzi 106 zboża " 106 at a ratio of 4:15 (0.2667)"
    piwa "64 at a ratio of 4:25 (0.16)"
    mąki "80 at a ratio of 1:5 (0.2)"
    chleba "43 at a ratio of 4:37 (0.1081)"
    mieczy "24 at a ratio of 4:65 (0.0615)"
    łuków "35 at a ratio of 4:45 (0.0889)"
    drewna "80 at a ratio of 1:5 (0.2)"

    Przypominam wartości w nawiasach zmieniają się ... w zależności który przedmiot się wybierze temu przypisywane jest "1:1 (1)" wyniki reszty uzależnione są od wybranego przedmiotu i jego wartości

    wszystko jest pokazane na stronie można przetestować

    Grunt aby pokazywało prawidłowe wartości tj. dla 400 wiader 106 zboża dla 200 wiader wody 53 zboża
  • Moderator Programowanie
    Prościej byłoby, żebyś zamiast nas odsyłać na jakąś stronę, załączył plik z przykładem (komu się chce przepisywać z ekranu ;) ) oraz dokładnymi wynikami jakie chcesz uzyskać.
  • Użytkownik usunął konto  
  • Poziom 11  
    adamas_nt
    dokładny oryginalny przykład masz na stronie wystarczy wybrać 1 przedmiot wpisac wartosc lub przesunac suwak i wcisnąć oblicz są tam wszystkie potrzebne dane ... i tam można testować różne opcje z różnymi wartościami do woli

    Marcin230
    dla mnie zaokrąglanie ma małe znaczenie
    ważne żeby dobrze pokazywało stosunek tego do tamtego np 200 koni = 400 chleba itd z pozostałymi
    Najmniejszą wartość w rozgrywce przeliczając np na monety czy inne przedmioty ma właśnie "wiadro wody" może warto by zainteresować się tym faktem
    Jedyne wartości "ratio" jakie znam to właśnie te w nawiasach
    Natrafiłem poprzez linki z tamtej strony na Trading Values zerknijcie może to pomoże
    Wydaje mi się jednak że to są te same wartości co w nawiasach tylko powiększone
  • Moderator Programowanie
    Po mojemu, trzeba by przyjąć coś jako "walutę" i przeliczać wg niej.
    1szt. konia = 100j
    1szt. krowy = 1/2 konia czyli 50j
    1szt. kota = 1/4 konia czyli 25j

    Czyli raz policzyć wg czegoś i zapisać w "walucie". Wtedy:
    100 kotów= 2500j (2500j/ cena 1 szt. krowy = 50j) to 50 krów
    100 kotów= 2500j (2500j/cena 1 szt konia = 100j) to 25 koni
  • Poziom 40  
    Przyznam że zainteresował mnie temat więc nie oszukując się dłuższą "chwilę" nad tym posiedziałem.

    Tak jak sugeruje kolega adamas_nt należy znaleźć jakąś cenę każdego surowca.
    Tu pomaga to co z kolei zauważył autor że woda jest najtańsza (co na to Afryka)

    Więc przy takich ustawieniach (co dostaniemy za 1 wiadro wody) dzielimy stosunek dla każdej rzeczy i mnożymy razy 100.

    I mamy cenę każdej rzeczy. Jednak wszystkie ceny tak obliczone dają się podzielić przez 25 bez reszty więc czego tego nie skrócić.

    Mając ceny każdego z "minerałów" możemy już obliczać ratio a potem ilości (tu wykorzystałem pomysł kolegi adamasa_nt).
    Przykład w załączniku.

    Ratio bez nawiasów wygląda czasami trochę śmiesznie ale jest zgodne od strony matematycznej.
    By było takie samo trzeba by było dodać makra obliczające największy wspólny dzielnik dla danego stosunku (jak trzeba to się zrobi ale chyba autorowi to nie jest aż tak potrzebne)
  • Moderator Programowanie
    :arrow: marek003
    Coś jest jeszcze nie tak. Jeśli za 10 jedynek dostanę 7 dwójek, to
    za 7 dwójek powinienem dostać 10 jedynek...

    dodano po ciut krótszej ;) chwili

    Policzyłem najprościej jak się dało (załącznik).
  • Poziom 40  
    :arrow: adamas_nt
    To właśnie kwestia zaokrągleń.
    Za 10 jedynek czyli za 50 jednostek monetarnych można kupić 7 dwójek (7x7) i zostanie reszta równa 1 jednostce monetarnej.
    Z kolei 7 dwójek to 49 jednostek monetarnych więc nie mogę kupić 10 jedynek po 5 jednostek tylko 9 i zostanie mi teoretycznie reszta 4 jednostek.
    Jednak przy wymianie tracę teoretyczną resztę z jednostek monetarnych.

    Zauważ że jest to zgodne z obliczeniami na stronie podanej przez autora.
  • Moderator Programowanie
    Nie chce mi się już wnikać. Ale po mojemu za 35 "uków" powinienem dostać 400 razy wiadrem, czy coś w tym rodzaju :)

    Sorry, ale trochę późno na myślenie...
  • Poziom 40  
    :)
    za 35 "uków" wg strony i mojego przykładu (30 przedmiot) powinieneś dostać aż 1487 wiadrem (9 przedmiotem) :)
    Ale rozumiem że jest późno i też już kończę na dziś a właściwie na wczoraj.
  • Poziom 11  
    marek003
    Na 1 rzut oka identyko :-) po pierwszych testach wszystko tak jak trzeba
    Pobawię się jutro aby stwierdzić czy to 100% to samo
    Jedyną różnicę jaką zauważyłem 1:1 (1) oryginał u Ciebie 7:7 ale to i tak daje 1 :-)

    adamas_nt
    w Twoim przykładzie jest prawie dobrze są małe rozbieżności w wynikach przy małych wartościach do przyjęcia przy dużych ???

    Sprawdzę jeszcze czy da się to jakoś zmniejszyć gabarytowo jeśli mi się nie uda to poproszę Was o podpowiedź

    Ogromne podziękowania dla wszystkich za włożony trud i poświęcony czas
    Jak mogę się odwdzięczyć ?
  • Pomocny post
    Poziom 40  
    młody-elektronik napisał:
    Jedyną różnicę jaką zauważyłem 1:1 (1) oryginał u Ciebie 7:7 ale to i tak daje 1

    Wiem i wspomniałem o tym.
    Jeżeli chcesz aby było tak samo trzeba by było do excela dodać własną funkcję (makro) obliczające największy wspólny dzielnik (excel tego nie posiada) i za pomocą tej funkcji można by było zrobić identyczny stosunek (ratio).
    Jeżeli jest to ci niezbędne to się zrobi, ale wydawało mi się że interesuje cię tylko obliczenie ilość za ilość.

    Co do
    młody-elektronik napisał:
    Jak mogę się odwdzięczyć ?


    Jak się zalogujesz na elektrodzie i wejdziesz w swój topik zauważysz że przy wypowiedziach innych jest przycisk "pomógł" ... i właściwie to wystarczy.

    dodane po jakimś czasie:
    ----------------------------------------------------
    :) Aż mi wszedłeś na ambicje z tym że to nie 100% oryginału. :)

    Córa mi się dziwi co ja ją w wakacje z największego wspólnego dzielnika (NWD) i algorytmu Euklidesa przepytuje. (Bo przyznaje że to zagadnienie ledwo pamiętałem. Jak to się mówi przez mgłę w dodatku bardzo gęstą :) )

    W załączeniu przykład (z dopisaną w makrze funkcją NWD wykorzystyjącą algorytm Euklidesa) który już powinien w 100% zgadzać się z oryginałem.
    Aby działało musisz zezwolić na działanie makr (włączyć makra)
  • Poziom 11  
    Jeszcze raz serdeczne podziękowania dla córki również ... szkoda że tylko raz mogę wcisnąć "pomógł"
    Na takie cudo nie liczyłem ... a od ciągłego testowania klawiaturka zaczyna się dymić :-)

    Dziękuję i do zobaczyska następnym razem
    Pozdrawiam
    ME