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ówanie "wariantów" w wierszach -czy makro

15 Lut 2011 17:39 2437 12
  • Poziom 9  
    Cześć Wam,

    mam zagwózdkę następującą: tu i owędzie czytam o sposobach na porównanie pól lub operacje na wartościach znajdujących się w poszczególnych kolumnach/wierszach.
    U mnie sytuacja jest o tyle łatwiejsza, że chodzi o ustalenie w których z wierszy układ X-ów jest taki sam i przedstawienie poniżej odnalezionych kombinacji.
    Niby łatwiejsza, ale właśnie sposobu na sprawdzenie "obecności" X w wierszach nie jest tak łatwo odnaleźć.

    Załączam obraz tego co mam na myśli, bo może język giętki nie wyraził wystarczająco zręcznie tego, co pomyślała głowa :)

    Czy Excel ma w zanadrzu makro, które sobie z tym poradzi czy muszę posiłkować się pisaniem?

    Z góry dziękuję za podpowiedzi :)
  • Pomocny post
    Poziom 40  
    Zapewne nie obejdzie się bez komórek pomocniczych (jeżeli ma nie być makra) ale...
    Dalej do końca nie rozumiem.
    Wyjaśnij dlaczego Monika ma 3, Jola 1 a Kaśka 0.
  • Poziom 9  
    marek003 napisał:
    Zapewne nie obejdzie się bez komórek pomocniczych (jeżeli ma nie być makra) ale...
    Dalej do końca nie rozumiem.
    Wyjaśnij dlaczego Monika ma 3, Jola 1 a Kaśka 0.


    a bez przyczyny, tak przykładowo nazwałem warianty. To mogłoby być A, B, C.
    Czy komórki pomocnicze, a nie makro.. istotne tylko żeby udał się rezultat, w sposób najprostszy.. :)
  • Pomocny post
    Poziom 40  
    Już chyba załapałem z tą numeracją.
    Samo znalezienie kombinacji to nie problem. Większym problemem jest ustalenie kolejności wg "twoich" zasad.
    Dodane o jakimś czasie
    ---------------------------------------------
    Gdyby chodziło wyłącznie o nr wiersza w którym jest dana kombinacja to tak jak w przykładzie poniżej.
    Jednak ty dodatkowo określasz kolejność wystąpienia. Ma się to nijak do nr wiersza a dodatkowo wymaga większej zabawy matematycznej.
    Nie wiem czy takie miałeś założenia czy to przypadek.

    znów dodane po chwili
    --------------------------------------

    Przed chwilą uświadomilem sobie że to moze jeszcze o co innego ci chodzi.

    Chcesz wpisać w komórke np "Monika" (lub wybrać wiersz kombinacji np: 1) i żeby dana kombinacja x-ów pojawiła się obok?
  • Poziom 40  
    Poniżej wersja z twoją kolejnością. (-1 w komórce nad wynikiem jest [przy okazji] dostosowaniem sie do twojej numeracji zaczynającej sie od 0 )

    Ale cały czas nie wiem czy dobrze zrozumiałem problem i co docelowo jest rezultatem.
  • Poziom 40  
    A tu masz wersję że jeżeli wpiszesz dany wiersz (zaczynając od 0 ) wtedy pojawi ci sie obok dana kombinacja jemu odpowiadająca.

    Ewentualnie do moderatora:
    Nie dodawałem załączników poprzez "zmień" bo chciałem by przed danym plikiem był odpowiedni komentarz. Wiem że od strony moderatora można połaczyć posty a efekt bedzie taki jaki oczekuje. Ja tak nie umiem od strony użytkownika.
  • Poziom 9  
    Makro funkcjonuję, w każdej z tych wersji i bardzo za nie dziękuję.

    Ale rzeczywiście, idea jest inna, spróbuję ją inaczej nakreślić.

    Po pierwsze nie ma kwestii kolejności, ona nie ma w niczym znaczenia.

    Żeby było łatwiej możemy użyć liter alfaberu, liczby faktycznie sugerują kolejność.

    I teraz: myk polega na tym, żeby makro przypisało każdej z kombinacji inną literę. Jeżeli kombinacje się powtarzają, litery też się powtórzą.

    I.. w zasadzie na tym zagadka się kończy.
    Niepotrzebne wstawiłem tabelkę dwa razy, przecież w zasadzie mogłaby być tylko ta niżej (bo ma miejsce na oznaczenia literami po lewej).

    Ale czy Excel mógłby sam przypisać te litery.. nad tym właśnie się zastanawiam.

    W sumie moglibyśmy mu pomóc wpisując przy dowolnej kombinacji literę, a on poprostu znalazłby ją w innych wierszach i opisał tą samą literą. Może to uprościłoby sprawę.

    Cel jest taki, żeby te same kombinacje zostały tak samo oznaczone. Mam nadzieję, że teraz rozjaśniłem o co chodzi :)

    Jeszcze raz dziekuję marku003 za podjęcie tematu :)
  • Pomocny post
    Moderator Programowanie
    A już myślałem, że jakiś ciemny jestem :)
    A gdyby tak zastosować (tablicowo) naszą ulubioną w ostatnim czasie MAX?
    Próba na pierwszym pliku kolegi marek003:

    Excel-porówanie "wariantów" w wierszach -czy makro

    Gdzie w S1 wpisujemy po prostu A i dalej (przez Ctrl+Shift+Enter)
    Code:
    =JEŻELI(CZY.BŁĄD(WYSZUKAJ.PIONOWO(R2;R$1:R1;1;0));ZNAK(MAX(KOD(S$1:S1))+1);WYSZUKAJ.PIONOWO(R2;R$1:S1;2;0))
    Tylko czy w ostatecznej wersji liter wystarczy...
  • Poziom 9  
    @adamas_nt rozwiązenie tablicą jest ciekawe i skuteczne na tym przykładzie, choć niestety nie uniwersalne.
    Kluczem może być takie rozwiązanie, które poradzi sobie równie dobrze do np 50-wierszową z tabelą, o nieznanej nam ilości mutacji (wpisanie tablicy byłoby nielada rzemiosłem :)).
    Taki mechanizm pozwoliłbym rozpoznać ich ilość oraz odróżnić je od siebie.
    Brzmi bajecznie, a ja poprostu nie znam limitu możliwości Excela.
    Dziękuję adamas_nt za dołączenie się do dyskusji :)
  • Pomocny post
    Poziom 40  
    Jeżeli excel ma "oznaczać" kody i jesteś nieograniczony w wersjach to jednak bym zastosował nie literową wersję oznaczeń ale zwykłą liczbową (kolejna liczba kolejny wariant).

    Więc idąc za trafną za propozycją kolegi adamas_nt:
    Code:
    ={JEŻELI(CZY.BŁĄD(WYSZUKAJ.PIONOWO(R2;R$1:R1;1;0));MAX(S$1:S1)+1;WYSZUKAJ.PIONOWO(R2;R$1:S1;2;0))}

    Wpisując w S1 =1

    I prawie (bo dochodzimy do milionów kombinacji) nie masz ograniczenia nazewnictwa.

    Na marginesie: jeżeli to ci wystarczy to ok. Jeżeli dalej rozwiązanie cię nieusatysfakcjonuje to jednak opisz konkretniej na danym przykładzie jakie dane masz, co wprowadzasz (co zmieniasz), jakich efektów oczekujesz (wynik). Przynajmniej ja jestem cały czas na "domyśle" [powiedzmy wiem na 70% o co ci chodzi ale ... pozostaje 30%]. ... chyba i ja ostatnio dość trudny w rozumowaniu jestem.
  • Poziom 9  
    @marek003 , Marku, wyjdę w takim razie z przykładu i opiszę jak to dosłownie wygląda. Miało być prościej na przykładzie, ale chyba wyszło niejasno.

    Dostaję co tydzień plik z ponad 50 nazwami miast (liczba jest zawsze taka sama), w których do dyskontów idą różne produkty - oznaczają je X-y. Takich różnych "układów" produktów jest od kilku do kilkunastu, różnie. Np. w Tczewie, Wrocławiu, Warszawie i Lublinie w tygodniu będzie szynka, narty i sok.
    A w kilku innych miastach inna kombinacja produktów.
    I tak dalej.

    I co tydzień zostaję w mojej marnej robocie po godzinach żeby na kartce znaleźć w których miastach są jakie kombinacje.
    Można zwariować i oślepnąć (bo do takiego porównania muszę wydrukować wszytko na jednej kartce A4 i jest bardzo malutkie).

    Stąd moje zastanawienie czy może Excel jest w stanie automatycznie zaznaczyć takie same kombinacje, co uratowałoby mnie i zmniejszyło ryzyko błędu.

    Wobec tego - konstruowanie tablicy byłoby przy 50 pozycjach i nieznanej ilości układów byłoby podobnie pracochłoanne..
  • Pomocny post
    Poziom 40  
    Na samym wstępie zaznaczę, że jak na razie nie korzystamy z makr tylko z wbudowanych funkcji excela.

    Wydaje mi się że to co chcesz to właśnie razem z kolegą adamas_nt ci zaproponowaliśmy ostatnio. Sprostuje jedynie że nie trzeba stosować formuł tablicowych - ale to ci chyba i tak za dużo nie mówiło

    No chyba że dalej nie rozumiem.

    Na końcu (w prawo) tabeli masz numery wariantów.
    Miasta z tymi samymi wariantami (kombinacjami) maja ten sam numer wariantu.
    Przy czym "numeracja" wariantów obowiązuje tylko w danym tygodniu tzn. wariant np nr:5 z pierwszego tygodnia nie musi być koniecznie wariantem nr:5 z drugiego tygodnia.

    Mam nadzieje że to o to chodzi.

    Czy coś chcesz jeszcze by "miało się robić"
  • Poziom 9  
    Marku, nie wyobrażam sobie żeby to mogło działać lepiej :) Jest dokładnie tym, o co chodzi.
    Różnica między nazwami tych samych wariantów w różnych tygodniach w niczym nie przeszkadza.

    Muszę jeszcze dogimnastykować się z zaaplikowaniem tego do xls'ów, które dostaje (tam jest trochę dodatkowych pól z opisami i innych). Ale to już mieści się w moich możliwościach :)

    Wielki plus dla Twojej wiedzy i uczynności, dziękuję bardzo!