Close

Pokaż wyniki od 1 do 5 z 5

Wątek: Excel - pomoc

  1. #1

    Domyślnie Excel - pomoc

    Witam,
    mam problem ze skonstruowaniem formuły w Excelu i Calc.
    Mam tabelę:
    Kod:
    Lp.|Nazwisko   |Nr grupy
    ------------------------
     1.|Nowak      |1
     2.|Kowalski   |2
     3.|Wiśniewski |3
     4.|Dąbrowski  |1
     5.|Lewandowski|3
     6.|Wójcik     |2
     7.|Kamiński   |2
     8.|Kowalczyk  |1
     9.|Zieliński  |3
    10.|Szymański  |4
    Chciałbym teraz utworzyć formułę, która do komórki wpisze mi wszystkie nazwiska z danej grupy:
    Kod:
    Nr grupy|Osoby
    -----------------------------------------
           1|Nowak Dąbrowski Kowalczyk
           2|Kowalski Wójcik Kamiński
           3|Wiśniewski Lewandowski Zieliński
           4|Szymański
    Nazwisk jest dość sporo, nie ma na ich ilość limitu, podobnie z grupami.
    Próbowałem z funkcjami Złącz.teksty i Jeżeli ale formuły są ogromne. W Excelu jeszcze dają radę ale Calc ma ograniczenie do 512 operatorów, nawiasów itp i dość szybko "wymięka".
    Ma ktoś na to pomysł?
    D810+N24-70/2.8+T17-50/2.8+N50/1.8+N70-210/4+SB800+...

  2. #2

  3. #3

    Domyślnie

    Może tabela przestawna...
    pozdrawiam
    Tomek

  4. #4

    Domyślnie

    Wpisz sobie w VBA taką poniższą funkcję. Nie jest moża najbardziej elegancka ale powinna działać

    Function cudowna(kom As Double)
    Application.Volatile
    ' tu ustawiasz nr wiersza i nr kolumny zakresu twoich danych, przykładowo jeśli nazwiska z nr grupy masz w zakresie b2:c11 to w1 odpowiada za pierwszy wiersz czyli 2, w2 to ostatni wiersz czyli 11, k1 to pierwsza kolumna czyli 2 a k2 to ostatnia kolumna czyli 3
    w1 = 2
    w2 = 11
    k1 = 2
    k2 = 3
    n = w2 - w1 + 1
    tekst = Null
    For i = 1 To n
    If Cells(w1 + i - 1, k2) = kom Then tekst = tekst & " " & Cells(w1 + i - 1, k1)
    Next i
    cudowna = tekst
    End Function

    W arkuszu wpisujesz gdzieś w jednej kolumnie 1, 2, 3 i 4 i w komórce obok funkcję cudowna wskazującą na dany nr grupy.
    Ostatnio edytowane przez ropusz ; 28-06-2012 o 16:22

  5. #5

    Domyślnie

    Cytat Zamieszczone przez seler Zobacz posta
    vlookup?
    wyszukuje tylko jedną pozycję i chyba tyle
    Cytat Zamieszczone przez barracuda Zobacz posta
    Może tabela przestawna...
    nigdy z tego nie korzystałem i nie wiem nawet jak zacząć
    Cytat Zamieszczone przez ropusz Zobacz posta
    Wpisz sobie w VBA taką poniższą funkcję. Nie jest moża najbardziej elegancka ale powinna działać

    Function cudowna(kom As Double)
    Application.Volatile
    ' tu ustawiasz nr wiersza i nr kolumny zakresu twoich danych, przykładowo jeśli nazwiska z nr grupy masz w zakresie b2:c11 to w1 odpowiada za pierwszy wiersz czyli 2, w2 to ostatni wiersz czyli 11, k1 to pierwsza kolumna czyli 2 a k2 to ostatnia kolumna czyli 3
    w1 = 2
    w2 = 11
    k1 = 2
    k2 = 3
    n = w2 - w1 + 1
    tekst = Null
    For i = 1 To n
    If Cells(w1 + i - 1, k2) = kom Then tekst = tekst & " " & Cells(w1 + i - 1, k1)
    Next i
    cudowna = tekst
    End Function

    W arkuszu wpisujesz gdzieś w jednej kolumnie 1, 2, 3 i 4 i w komórce obok funkcję cudowna wskazującą na dany nr grupy.
    nie chciałem bawić się w VBA bo to ma działać także w OpenOffice. Po otwarciu pliku w OO nie liczy tych funkcji. Ale pod Excelem działa wyśmienicie Sam już miałem napisać sobie taką funkcyjkę ale dobra duszyczka pomogła
    Dzięki za pomoc.
    D810+N24-70/2.8+T17-50/2.8+N50/1.8+N70-210/4+SB800+...

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •