Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 70177 Skopiuj do schowka jak wyszukać konkretną cenę z konkretnej daty
Autor Wiadomość
amarc 
Świeżak


Wersja: Win Office 2000
Posty: 3
Wysłany: 18-02-2021, 12:00   jak wyszukać konkretną cenę z konkretnej daty

witam,
potrzebuję wyciągnąć w łatwy i przyjemny sposób dane z różnych dat.
Mam indeksy, które były sprzedawane na przestrzeni lat po różnych cenach, a potrzebne mi są te z ostatniej daty sprzedaży
jakiej formuły / formuł/ powinnam użyć?

Cenyprzyklad.xlsx
Pobierz Plik ściągnięto 14 raz(y) 9.03 KB

ID posta: 400610 Skopiuj do schowka
 
 
bezet-1147 
Exceloholic


Wersja: Win Office 2007
Pomógł: 19 razy
Posty: 103
Wysłany: 18-02-2021, 12:49   

.
Do tego nie potrzeba tworzyć formuł. Wystarczy to, co jest wbudowane w Excelu.

1) Zaznacz cały zakres komórek (w załączonym przez Ciebie przykładzie będzie to zakres: A1:C13
2) U góry okna wybierz kartę "Dane", a w niej wybierz polecenie "Sortuj"
3) W oknie polecenia Sortuj, kliknij u góry, po lewej: "Dodaj poziom"
4) Teraz wystarczy wypełnić odpowiednio oba poziomy (czyli: najpierw sortowanie według kolumny "indeks" (będzie to poziom pierwszy sortowania), a następnie sortowanie według kolumny "data sprzedaży" (będzie to poziom drugi sortowania), przy czym w wierszu poziomu drugiego wybierz wariant sortowania: Kolejność "od najnowszych do najstarszych".

-------------
45
.
  
ID posta: 400616 Skopiuj do schowka
 
 
amarc 
Świeżak


Wersja: Win Office 2000
Posty: 3
Wysłany: 18-02-2021, 13:05   

ok, to zadziała, ale nie w przypadku kiedy masz ok 500 pozycji. :)
chodzi o t, że tutaj dałam tylko przykład. Generalnie indeksów jest więcej i dat też. jak dam wyszukaj pionowo to wyszuka przypadkowe wartości, a ja chcę konkretne.
przez maks. warunków znalazłam ostatnią datę sprzedaży i na tym się zatrzymałam bo nie wiem jak to zrobić dalej.
ID posta: 400618 Skopiuj do schowka
 
 
xfish 
Excel Expert



Wersja: Win Office 2013
Pomógł: 446 razy
Posty: 1385
Wysłany: 18-02-2021, 13:08   

Załącznik

Kopia Cenyprzyklad.xlsx
Pobierz Plik ściągnięto 16 raz(y) 10.99 KB

_________________
Pozdrawiam
xFish
ID posta: 400620 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 771 razy
Posty: 4155

Wysłany: 18-02-2021, 13:14   

Wersja do dokończenia - nie mam jak inaczej zapisać!!!!
.

Cenyprzyklad.xlsm
Pobierz Plik ściągnięto 10 raz(y) 21.76 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 400622 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 2027 razy
Posty: 6409
Wysłany: 18-02-2021, 14:55   

Moja propozycja z wykorzystaniem nieco zapomnianych funkcji baz danych.
Warunki zastosowania:
Nagłówki pól nad wartościami tworzącymi zakresy kryteriów muszą być takie jak w oryginalnej tabeli z danymi.
Dane nie muszą być w tabeli Excela, może to być zwykły zakres, ale musi obejmować nagłówki.
W dniu ostatniej transakcji nie może być dwóch (czy więcej) transakcji tym samym towarem.

Cenyprzyklad_BD.xlsx
Pobierz Plik ściągnięto 8 raz(y) 10.99 KB

ID posta: 400628 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 771 razy
Posty: 4155

Wysłany: 18-02-2021, 15:24   

W miarę dokończyłem (trochę mi zajęło dotarcie z pracy do domu... :mrgreen: ):
Kompilacja sortowania (by bezet-1147) i własnej twórczości.
PS. Maciej prawdopodobnie wymyślił coś prostszego...

Kod:
Private Sub CommandButton1_Click()
Dim i&, d&, twr$, j&

Application.ScreenUpdating = False

Columns("A:C").Select
ActiveWorkbook.Worksheets("Arkusz1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Arkusz1").Sort.SortFields.Add Key:=Range("A:A") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Arkusz1").Sort.SortFields.Add Key:=Range("C:C") _
    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Arkusz1").Sort
    .SetRange Range("A:C")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Range("E2").Select

d = Cells(Rows.Count, "A").End(xlUp).Row
Range("E2:G" & d).Delete

j = 2
twr = Cells(2, 1).Value
Cells(j, 5).Value = twr
Cells(j, 6).Value = Cells(2, 3).Value
Cells(j, 7).Value = Cells(2, 2).Value

For i = 2 To d
    If Cells(i, 1).Value <> twr Then
        j = j + 1
        twr = Cells(i, 1).Value
        Cells(j, 5).Value = twr
        Cells(j, 6).Value = Cells(i, 3).Value
        Cells(j, 7).Value = Cells(i, 2).Value
        Range("E2:G" & j).Interior.Color = vbYellow
    End If
Next i

Application.ScreenUpdating = False

End Sub


PS1. Na potrzeby testów - ceny pozmieniane.
.

Kopia Cenyprzyklad.xlsm
Pobierz Plik ściągnięto 5 raz(y) 23.8 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 400630 Skopiuj do schowka
 
 
Czeslaw
ExcelSpec


Pomógł: 206 razy
Posty: 704
Wysłany: 18-02-2021, 16:08   

Formula
Kod:
=INDEX(B$2:B$20;AGGREGATE(15;6;ROW($1:$20)/(E2=A$2:A$200)/(C$2:C$200=AGGREGATE(14;6;$C$2:$C$200/($A$2:$A$20=E2);1));1))


Cenyprzyklad.xlsx
Pobierz Plik ściągnięto 6 raz(y) 9.23 KB

ID posta: 400635 Skopiuj do schowka
 
 
DwaNiedźwiedzie 
Excel Expert



Wersja: Win Office 2016
Pomógł: 278 razy
Posty: 684
Wysłany: 18-02-2021, 17:54   

amarc, jeżeli faktycznie pracujesz na Excelu 2000, to moje rozwiązanie Ci się nie przyda, ale w tych bardziej bieżących wersjach jest dodatek Power Query (w 2010/13 do darmowego ściągnięcia, w wyższych wbudowany), którym takie rzeczy robi się kilkoma kliknięciami - szczególnie wygodne na większych zbiorach danych.

PS: xfish, tak w tabeli i bez PQ? :)

Cenyprzyklad.xlsx
Pobierz Plik ściągnięto 4 raz(y) 17.89 KB

ID posta: 400639 Skopiuj do schowka
 
 
xfish 
Excel Expert



Wersja: Win Office 2013
Pomógł: 446 razy
Posty: 1385
Wysłany: 19-02-2021, 07:09   

DwaNiedźwiedzie napisał/a:


PS: xfish, tak w tabeli i bez PQ? :)


Muszę czasami ćwiczyć formuły, bo zapomnę ;)
_________________
Pozdrawiam
xFish
ID posta: 400659 Skopiuj do schowka
 
 
amarc 
Świeżak


Wersja: Win Office 2000
Posty: 3
Wysłany: 19-02-2021, 07:55   

dzięki bardzo z pomoc :)
próbowałam z indeksami ale nie wychodziło.
Pomogło stworzenie wartości unikatowych + wyszukaj pionowo
ID posta: 400660 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2494 razy
Posty: 8280
Wysłany: 19-02-2021, 08:10   

Były już formuły, PQ, VBA, to ja dorzucę jeszcze tabelę przestawną.

Cenyprzyklad(1).xlsx
Pobierz Plik ściągnięto 3 raz(y) 22.14 KB

_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 400663 Skopiuj do schowka
 
 
sp3wbe 
Starszy Forumowicz


Wersja: Win Office 2016
Posty: 29
Wysłany: 19-02-2021, 14:59   

Miało być w łatwy sposób to może ten pomysł się Tobie spodoba? Proszę z rezerwą podejść do tego rozwiązania gdyż z VBA mam krótki kontakt. Może Eksperci coś poprawią :-)

może tak.xlsm
Pobierz Plik ściągnięto 5 raz(y) 102.56 KB

_________________
Tadek
ID posta: 400696 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe