logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel formuła wyszukaj - Formuła wyszukaj, podaj pozycję... sam nie wiem...

grzegorz.cpn 28 Lut 2019 14:17 888 8
REKLAMA
  • #1 17810492
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Witam.
    Proszę o pomoc.
    Chciałbym aby formuła podała mi wartość z kolumny kod uwzględniając warunek indeks i ostatnią datę. Jeżeli w pozycji kod nie ma żadnej wartości to podaje wartość ostatnią według daty.

    np.
    Lp Indeks Data zdarzenia Kod
    1 D 0006 2019-02-19 3
    2 K 3160 2019-02-16 2
    3 K 3160 2019-02-18 3
    4 K 3160 2019-02-19
    5 D 0006 2019-02-19 5
    6 K 4666 2019-02-27
    7 H 7703 2019-02-27 2
    8 H 7702 2019-02-27
    9 R 6637 2019-02-28 1
    10 U 4231 2019-02-28 3
    11 LW 7039 2019-02-28 1
    Przykład
    Indeks K 3160
    Wynik formuły - 3
    dlatego że ostatnia data ( 2019-02-18) przy której jest indeks K 3160 wynosi 3 kolejna data nie ma kodu
    Serdecznie proszę o pomoc. Długo nad tym myślałem ale nic nie stworzyłem.
    Będę wdzięczny za każde sugestie.
    Załączniki:
    • Forum.xlsx (8.98 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 17810773
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Nie bardzo wiadomo, co znaczy "ostatnia data". Czy rozumieć to jako najpóźniejsza data, czy jako ostatnia w kolejności na liście? Czy może to jest to samo, jeśli daty są uporządkowane?
    Spróbuj formuły:
    Kod: Text
    Zaloguj się, aby zobaczyć kod
    Bierze pod uwagę kody i liczby w kolumnie D. Zakładam, że daty (dla danego kodu) są uporządkowane, więc nie odgrywają tu żadnej roli.
    Załączniki:
    • Forum_ost_data.xlsx (8.95 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #3 17810937
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Dzięki za pomoc.
    Wydaje się że działa. Nie pomyślałem o tym że data nie ma znaczenie, choć nie wiem czy na pewno. Trochę to zagmatwane.
    W środę to sprawdzę z większą ilością danych.
    Jak nie ma żadnej wartości przy kodzie pojawia się błąd #N/D! ale z tym se poradzę =jeżeli.błąd(....
  • REKLAMA
  • #4 17813288
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Znajomy podsunął mi takie rozwiązanie:
    =JEŻELI.BŁĄD(INDEKS(D5:D15;SUMA(JEŻELI(((B5:B15=G5)*(D5:D15>0)*(C5:C15))=MAX(((B5:B15=G5)*(D5:D15>0)*(C5:C15)));WIERSZ(B5:B15);""))-4);"BRAK KODU")

    Działa tak samo :)
    Dzięki za pomoc !
  • #5 17853771
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Wracam do tematu i proszę o pomoc. Jeżeli w kolumnie D5:D15 nie występuje liczba tylko wartość np: L/8/7/C to jak będzie wyglądała formuła? Mam nadzieję że znajdzie się rozwiązanie. Pozdrawiam.
  • #6 17854766
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Jeśli dane w kolumnie D są dowolnego typu, wystarczy zmienić warunek identyfikacji tych danych na przykład na:
    Kod: Text
    Zaloguj się, aby zobaczyć kod

    Widać, że Forum nie spełnia swej roli edukacyjnej. :cry: Większość czeka na gotowce!
    Załączniki:
    • Forum_ost_data2.xlsx (8.97 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 17855212
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Dzięki za info.
    Tak nie jest jak piszesz.
    Zanim napisałem na forum przeszukałem kilkanaście wątków i YT i nie mogłem znaleźć rozwiązania.
    Twoja podpowiedź działa.
    Dziękuję
  • REKLAMA
  • #8 17855801
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Grzegorz.cpn napisał:
    Zanim napisałem na forum przeszukałem kilkanaście wątków i YT i nie mogłem znaleźć rozwiązania.
    To właśnie potwierdza moją opinię. Zamiast przeanalizować, jak działa podana przeze mnie poprzednio formuła i wymienić w niej mały fragment, Ty szukasz gotowego rozwiązania w Sieci w nadziei, że ktoś już miał identyczny problem. Bo rozwiązanie podobnego nie wystarczyło.
  • #9 17857058
    grzegorz.cpn
    Poziom 8  
    Posty: 35
    Ocena: 8
    Myślę że nie ma co się tu spierać. Nie umiałem - pomogłeś, wskazałeś rozwiązanie które działa z funkcją:
    =JEŻELI.BŁĄD(INDEKS(D5:D15;SUMA(JEŻELI(((B5:B15=G5)*(D5:D15>0)*(C5:C15))=MAX(((B5:B15=G5)*(D5:D15>0)*(C5:C15)));WIERSZ(B5:B15);""))-4);"BRAK KODU")
    Dzięki!!!

Podsumowanie tematu

✨ Użytkownik poszukiwał pomocy w stworzeniu formuły w Excelu, która zwracałaby wartość z kolumny "Kod" na podstawie warunku "Indeks" oraz ostatniej daty. W odpowiedzi zaproponowano kilka formuł, w tym: =WYSZUKAJ(2;1/($B$5:$B$15=G5)/CZY.LICZBA($D$5:$D$15);$D$5:$D$15) oraz =JEŻELI.BŁĄD(INDEKS(D5:D15;SUMA(JEŻELI(((B5:B15=G5)*(D5:D15>0)*(C5:C15))=MAX(((B5:B15=G5)*(D5:D15>0)*(C5:C15)));WIERSZ(B5:B15);""))-4);"BRAK KODU"). Użytkownik potwierdził, że jedna z formuł działa, ale miał pytania dotyczące sytuacji, gdy w kolumnie "Kod" znajdują się inne wartości niż liczby. Ostatecznie uzyskał pomoc w dostosowaniu formuły do różnych typów danych w kolumnie "Kod".
Wygenerowane przez model językowy.
REKLAMA