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: 62419 Skopiuj do schowka Dopasowanie danych z dwóch tabel
Autor Wiadomość
fanatyq 
świeżak


Posty: 2
Wysłany: 30-08-2018, 08:47   Dopasowanie danych z dwóch tabel

Witam. Mianowice mam następujący problem - potrzebuję dopasować dane z jednej tabeli do drugiej. Ale nie jest tak łatwo - w jednej tabeli w kolumnie E jest są jakieś dane (przykładowa współrzędna X).
Kolejne dane z kolejnego pomiaru będą w takim samym formacie (Nr, X, Y, H), ale dane X,Y,H nie będą dokładnie takie same, a nie będzie zgodnej kolejności numerów. I właśnie to potrzebuję dopasować jakoś.
Albo te X albo Y do siebie z kolejnych pomiarów. Z tym że w kolejnych pomiarach wartości będą się zmieniać w zakresie nie większym niż to 0,05. Da się to wgl zrobić? Bo wiem, najszybciej ręcznie przy takiej ilości danych, ale do dopasowania będzie pare tys linijek..

tabela dopasowanie.xlsx
Pobierz Plik ściągnięto 13 raz(y) 10.45 KB

ID posta: 351853 Skopiuj do schowka
 
 
BrunO 
ExcelSpec



Pomógł: 125 razy
Posty: 540
Wysłany: 30-08-2018, 10:00   

Proponuję takie makro:
Kod:
Sub dopasuj()

Dim max1 As Long, max2 As Long
Dim w1 As Long, w2 As Long
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double

With Sheets("Sheet1")
    max1 = .Cells(.Rows.Count, "D").End(xlUp).Row
    max2 = .Cells(.Rows.Count, "M").End(xlUp).Row
   
    For w1 = 8 To max1
        x1 = .Cells(w1, "E").Value
        y1 = .Cells(w1, "F").Value
       
        For w2 = 8 To max2
            x2 = .Cells(w2, "N").Value
            y2 = .Cells(w2, "O").Value
           
            If x2 >= x1 - 0.05 And x2 <= x1 + 0.05 And y2 >= y1 - 0.05 And y2 <= y1 + 0.05 Then
                MsgBox "Do pozycji nr " & .Cells(w1, "D").Value & " z Pomiaru 1 pasuje pozycja nr " & .Cells(w2, "M").Value & " z Pomiaru 2."
                GoTo znaleziony
            End If
        Next w2
znaleziony:
    Next w1
   
End With

End Sub


Nie skonkretyzowałeś co ma się dziać z informacją o odnalezionym pomiarze, więc wrzuciłem msgbox, ale myślę, że sensowniejsze byłoby odkładanie tej informacji gdzieś w arkuszu. Oczywiście to nie musi być tylko nr, mogą być i współrzędne. Pytanie gdzie...

No i mam nadzieję, że prawidłowo zinterpretowałem warunki dopasowania, że obydwie współrzędne mają być +/- 0,05 lub równe.
ID posta: 351857 Skopiuj do schowka
 
 
fanatyq 
świeżak


Posty: 2
Wysłany: 30-08-2018, 10:32   

Kurcze, nie mam tego jak teraz sprawdzić, dopiero późnym popołudniem.

Ale postaram się doprecyzować jak to miało by działać.
Wykonujemy jeden pomiar w efekcie którego tak jak w tamtym pliku mamy dane NR X Y H. Po drugim pomiarze tak samo NR X Y H, z tym że one się nie pokrywają numery różne a X i Y różnią się w zakresie powiedzmy +- 0.05. I teraz dopasować jedną tabelę do drugiej np właśnie po tych X a następnie posortować pomiar Nr 2 z kolejnością zgodną jak pomiar jeden, ewentualnie w efekcie mogły by być te dane ułożone w kolejnej tabeli. Potrzebne to będzie dalej do policzenia różnic pomiędzy pomiarami. Chyba wyjaśniłem tym razem już dobrze, ale nie mam jak teraz podeprzeć się przykładem.
ID posta: 351859 Skopiuj do schowka
 
 
BrunO 
ExcelSpec



Pomógł: 125 razy
Posty: 540
Wysłany: 30-08-2018, 21:14   

W zasadzie to powtórzyłeś to co w pierwszym poście, a na kluczowe dla mnie pytania i tak nie odpowiedziałeś...
W takim razie od kolumny W zrobiłem Pomiar 2 bis, gdzie wrzucane są dane z pomiaru dwa przyporządkowane do pomiaru 1. Zauważ, że makro nie przyporządkowuje pomiaru dla pozycji 10, gdyż pomiar 2 poz. 4 we współrzędnej Y różni się o 0,066. Ale na pytanie czy wystarczy dopasowanie po jednej współrzędnej, czy w granicy muszą być obydwie, nie odpowiedziałeś.

Robisz bardzo precyzyjne pomiary, ale w swoich wypowiedziach jesteś mało precyzyjny...

tabela dopasowanie.xlsm
Pobierz Plik ściągnięto 13 raz(y) 20.51 KB

ID posta: 351890 Skopiuj do schowka
 
 
Krzyszt@f
świeżak


Wersja: Win Office 2007
Posty: 1
Wysłany: 14-03-2019, 21:01   

Chciałbym odświeżyć temat.
Jestem nowy na forum, i to mój pierwszy post więc dzień dobry, cześć!
Pierwszy post i chyba właśnie znalazłem rozwiązanie. Zdaje się, że mam podobne zadanie do kolegi Fanatyq. Z tym, że w moim przypadku tolerancja sięga +/- 0,10 i właśnie dotyczy dwóch współrzędnych tj X i Y. Dzięki BrunO, że poświęcasz swój czas na takie podstawowe problemy laików!
_________________
Pozdrawiam, Krzysztof.
ID posta: 364252 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