Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel - Czy da się zrobić funkcję wyszukującą wyrazy i umieszczającą je w tabeli

tata1 05 Mar 2017 13:37 876 9
  • #1
    tata1
    Level 20  
    Chcę zrobić automatyczną tabelę, która policzy mi automatycznie strukturę upraw w gospodarstwie.

    W załączeniu plik.
    Zrobiłem arkusz w którym wprowadzam poszczególne działki- z powierzchnią i uprawą (część dolna arkusza).
    Następnie u góry mam tabelkę w której do obliczenia struktury używam funkcji: "=SUMA.JEŻELI($D$19:$D$94;D3;$C$19:$C$94)"
    Czyli wpisując nazwę danej uprawy w tabelce (górnej), obok pojawia się mi (na podstawie w/w formuły) suma wszystkich upraw wprowadzonych poniżej o takiej nazwie.

    Tak więc działa, ale chcę czegoś więcej - czy da się zrobić jakąś formułę lub makro by w tej górnej tabeli (zielonej) nie wpisywać upraw ręcznie? Tak by sam Excel wypełnił tą zieloną tabelę, czyli wpisał tam (ale 1 krotnie) każdą uprawę występująca poniżej, przy czym nie ważne czy dana uprawa pojawiła się poniżej 1 raz, czy kilka (naście), kilkadziesiąt razy. Po wylistowaniu upraw formuła SUMA.JEŻELI zrobiła by odpowiednie wartości (jak teraz).
  • #2
    Prot
    Level 37  
    Witam!

    Na pewno da się zrobić funkcję wyszukującą :D i makro kopiujące wyszukane dane do tabeli.
    Póki co, podejrzewam że wystarczyć Ci może wykorzystanie kopiowania zaawansowanego filtru (wartości unikatowych), oraz ewentualnie ustawienie poprawności danych (dla listy wyboru). :idea:

    Zobacz jak to działa w załączonym arkuszu.
    uprawyP...xls Download (35.5 kB)
  • #3
    tata1
    Level 20  
    Niestety nie oto chodziło. To dalej wpisywanie z ręki (ta dodatkowa tabela).
    Chodzi mi o to że gdy na dole wprowadzę dodatkową uprawę to u góry ma się ona pojawiać automatycznie jako dodatkowy wers w strukturze (zielona tabela) i wtedy SUMA.JEŻELI pokazuje powierzchnie tej upraw.
    Potrzebne mi to dlatego, gdy wprowadzę inne uprawy, raz więcej, raz mniej, czasami zupełnie odmienne, to potem w górnej tabeli wpisuję "z ręki" i porównuję SUMY upraw. Jeżeli są takie same to znaczy że w górnej wpisałem wszystkie te co wystąpiły na dole.
    Czasami jest kilkaset pozycji, a dana uprawa występuje raz, no i wtedy łatwo jej nie dopatrzeć. Na szczęścicie można porównać SUMY i widać że czegoś brakuje. Czasami w górnej wpisze coś 2 razy i wtedy suma górnej jest większa niż dolnej, więc też od razu widać że coś źle.
    Czasami na kilkadziesiąt pozycji w dolej tabeli danej uprawy np. "pszenica" ktoś wpisze np. "przenica" i wtedy wpisując w górnej "pszenica", funkcja SUMA.JEŻELI policzy pszenicę, a pominie przenicę, oczywiście po sumach widać że coś nie tak, ale trudno znaleźć ze względu na mnogość danych, a podobne wyrazy.
    Gdyby jakaś funkcja robiła listing upraw to taka uprawa z błędem potraktowana by była jak odrębna uprawa i widniałaby w tabelce - oczywiście SUMA.JEŻELI pokazałaby powierzchnie takiej uprawy :-)
  • #4
    Prot
    Level 37  
    tata1 wrote:
    Niestety nie oto chodziło. To dalej wpisywanie z ręki :?: (ta dodatkowa tabela).
    Chodzi mi o to że gdy na dole wprowadzę dodatkową uprawę :!: to u góry ma się ona pojawiać automatycznie jako dodatkowy wers w strukturze (zielona tabela)


    Widzę, że masz trudności z oceną zaproponowanego rozwiązania. Przesyłam zatem jeszcze raz ten arkusz z oznaczonym na żółto polem do wpisywania rodzajów upraw (wpisujesz raz i poprawnie), a w tabeli na dole korzystasz tylko ze zaktualizowanej na bieżąco listy wyboru. :D

    uprawyP...xls Download (36 kB)

    Jeśli wolisz jednak wpisywać wielokrotnie (z literowymi błędami :D ) te same nazwy upraw w dolnej tabelce - to rzeczywiście moje rozwiązanie nie spełni Twoich wymagań :cry:
  • #5
    tata1
    Level 20  
    Wielkie dzięki za chęci, jednak niestety to nie to.
    Chodzi o to że na początek dostaję "dół" z różnymi uprawami, często wpisywanymi z ręki. Następnie mam zrobić z tego strukturę "u góry" więc twoja żółta tabelka nie nada się na nic, ponieważ nie można sobie wpisać do niej na stałe upraw, gdyż tych upraw może być bardzo dużo i różne. Więc tabelka była by bardzo długa.
    Lista rozwijana na dole to zły pomysł, bo musiałaby mieć z 50-60 różnych upraw. Nie przejdzie to by osoba wprowadzająca, która wprowadza np. około 100 lub więcej wierszy, za każdym razem rozwijała listę wyboru zawierająca kilkadziesiąt pozycji. To ma być z ręki. Następnie chciałbym by jakaś funkcja zrobiła streszczenie (u góry) z tej setki, lub mniejszej, czy większej ilości upraw (w zależności od gospodarstwa. Tak bym nie musiał przeglądać tej dolnej listy po otrzymaniu jej, tylko u góry dostał gotową.

    Dlatego chciałbym by jakaś funkcja robiła streszczenie, ponieważ jak pisałem trafiają się uprawy bardzo różnorodne, w zależności od gospodarstwa. Więc mógłbym u góry wpisać na stałe, ale byłaby to długa lista.
    A cechą charakterystyczną jest to że w 99% przypadków w danym gospodarstwie liczba upraw nie przekracza 10, więc u góry wystarczy mała tabelka, tylko z tymi uprawami co są w danym gospodarstwie. Jednak w kolejnym gospodarstwie często będą to całkowicie inne uprawy - mimo kilkudziesięciu działek (na dole) z tymi uprawami, liczba upraw będzie nie większa niż 10, (tylko ze część lub wszystkie będą inne). Więc żółta tabelka traci sens. Stąd przeglądam dół i wpisuję w górną ręcznie, bo to niewiele pozycji. Jednak jak ktoś zrobi literówki to wtedy formuła tego nie policzy oczywiście.
    Prot oczywiście bonusik za pomoc, ale może ktoś coś innego podpowie.
  • #6
    Prot
    Level 37  
    tata1 wrote:
    Chodzi o to że na początek dostaję "dół" z różnymi uprawami, często wpisywanymi z ręki. Następnie mam zrobić z tego strukturę "u góry"
    ...
    Dlatego chciałbym by jakaś funkcja robiła streszczenie, ponieważ jak pisałem trafiają się uprawy bardzo różnorodne, w zależności od gospodarstwa.


    To zmienia zasadniczo warunki zadania (wiele różnych arkuszy źródłowych) i nie widzę innej możliwości jak zrobić coś takiego poprzez małe makro :D np. jak w załączonym pliku.

    uprawyPr..M.xls Download (51.5 kB)
  • #7
    tata1
    Level 20  
    No dobrze, dostaję dolną tabelkę z działkami i uprawami. Skąd mam wsiąść tą po prawej z Twojego przykładu?
    Chodzi to aby się ona sama zrobiła na podstawie dołu.
    Marzy mi się makro lub funkcja która mi zrobi tą tabelkę.
    Wpisałeś do tej tabeli (po prawej) uprawy ręcznie. tak? Widziałeś co wpisać, bo w przykładzie dałem upraw niewiele. A gdyby na dole było 60, 100, 1000 działek i tam kilka (naście) upraw, to skąd byś wiedział jakie są tam uprawy, aby zrobić tą tabelkę po prawej? Musiałbyś przeglądać tą dolną tabelkę i na jej podstawie zrobić swoją.
    Chodzi o to by nie tracić czasu na przeglądanie dołu. Żeby góra zrobiła się sama (zielona tabelka), a formuła SUMA.JEŻELI zrobi resztę sama bez żadnego przycisku i makra.
    Zaproponowałeś tabelkę po prawej stronie - a co to za różnica że mam wyłowić i wpisać uprawy w tabelkę po prawej, czy też jak to robię teraz - bezpośrednio w zieloną tabelkę. I tak muszę je wyławiać z "tłumu" i tak. Szukam automatu który to zrobi za mnie.
    Powiedzmy że tak jak w załączniku wygląda arkusz wyjściowy, jest trochę szukania.
  • Helpful post
    #8
    adamas_nt
    Moderator of Programming
    Jeśli masz miejsce na kolumnę pomocniczą (rzepak i rzepok dla Excela, to zupeeeełnie różne rzeczy ;), to najprościej:
  • #9
    Prot
    Level 37  
    tata1 wrote:
    No dobrze, dostaję dolną tabelkę z działkami i uprawami. Skąd mam wsiąść tą po prawej z Twojego przykładu?
    Chodzi to aby się ona sama zrobiła na podstawie dołu.


    Szanowny Kolego! Sam podałeś informacje wyjściowe do rozwiązania:

    Quote:
    Chodzi o to że na początek dostaję "dół" :!: z różnymi uprawami


    Quote:
    Następnie mam zrobić z tego strukturę "u góry" :!:


    Rozumiem zatem, że dostajesz z zewnątrz pewne dane, które musisz wkleić do Twojego arkusza (dokładnie w obszarze "dołu" tzn. $A$19:$C$94) - poprzez kliknięcie tego żółtego przycisku - wszystko zrobi się automatycznie i będziesz miał ustaloną strukturę upraw.

    Ta tabelka "uprawy" pozwoli Ci ocenić poprawność nazw poszczególnych upraw. Skorygujesz na "dole" wszystkie błędne nazwy (np przenica, pyry) - przyciśniesz przycisk i znów automatycznie uzyskasz poprawną strukturę.

    BTW. 1. Mam nadzieję, że wcześniej włączysz obsługę makr w excelu :D
    2. Z Twojego drugiego przykładu wynika, że masz niewielkie doświadczenie w excelu - nie będą Ci działały funkcje sumujące poza zakresem $C$19:$C$94 :!: - musisz przy formułach i makrach zachować pełną precyzję przetwarzanych obszarów. :idea:
  • #10
    tata1
    Level 20  
    Tak jak napisał prot, mam niewielkie doświadczenie w excelu i może dlatego nie mogę zrozumieć jego przykładu.

    Natomiast rozwiązanie zaprezentowane przez adamas_nt jest dla mnie rozwiązaniem tematu, oto mi chodziło. Zastosuję kolumnę pomocniczą i górę mam automatycznie.
    Co do literówek to
    Quote:
    rzepak i rzepok dla Excela, to zupeeeełnie różne rzeczy

    więc obie wersje pojawią się u góry (łatwo to wtedy poprawić na dole), ale suma upraw się będzie zgadzać.

    Wielkie dzięki, jesteście WIELCY