Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel, txt - Import do arkusza z pliku txt tylko wybranych danych.

krisnj2 18 Kwi 2014 12:44 2130 8
  • #1 18 Kwi 2014 12:44
    krisnj2
    Poziom 5  

    Jeśli to możliwe proszę o pomoc w rozwiązaniu małego problemu. Przyrząd którym się posługuję zapisuje pewne dane w swoim buforze, po zczytaniu go do komputera dane są w formacie pliku tekstowego. Przyrząd zapisuje jakiś stan w ustawionych interwałach czasowych i te dane potrzebuje w arkuszu kalkulacyjnym. Przy czym plik txt jest koszmarnie sformatowany, dane nie są w kolumnach tylko następujące po sobie (spacjami) w wierszach, wygląda to tak jakby ktoś spisywał to w zeszycie. Po importowaniu tego do arkusza bardzo ciężko odpowiednie dane wyodrębnić do tabeli żeby wynikiem był prosty wykres zależności czasu (godzina) do wskazań przyrządu (przepływ cieczy)
    Dane jakie potrzebuje z pliku txt w arkuszu to wartość FLOW i godzinę pomiaru.
    tak to wygląda:
    14-04-17 10:42:38
    Flow 0.167605 m3/h

    14-04-17 10:43:08
    Flow 0 m3/h

    14-04-17 10:43:38
    Flow 0.173363 m3/h

    Jest jakiś sposób na zautomatyzowanie tego procesu?

    0 8
  • Pomocny post
    #2 18 Kwi 2014 13:07
    marcinj12
    Poziom 40  

    krisnj2 napisał:
    Przy czym plik txt jest koszmarnie sformatowany
    Dlaczego zaraz koszmarnie?? Całkiem przyzwoicie - dane powtarzają się w przewidywalnych grupach. Wystarczy podzielić na tablicę wg spacji i w zależności od długości tablicy skopiować dane w odpowiednią komórkę:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 18 Kwi 2014 16:40
    krisnj2
    Poziom 5  

    Serdeczne dzięki, ale jak to zrobić? :)

    0
  • Pomocny post
    #4 18 Kwi 2014 17:29
    marcinj12
    Poziom 40  

    krisnj2 napisał:
    Serdeczne dzięki, ale jak to zrobić?
    No jak jak? Przecież podałem Ci gotowy kod... Nie wiesz jak wstawić przycisk? Patrz tutaj.

    0
  • #5 18 Kwi 2014 19:21
    krisnj2
    Poziom 5  

    Jeszcze raz dzięki, myślałem, że znam Office dość dobrze, myliłem się...bardzo.

    W kazdym bądź razie dzięki temu bedzie czas na jeszcze jedną kawę :)

    Dzięki

    0
  • #6 19 Kwi 2014 00:40
    Maciej Gonet
    Poziom 31  

    Dobry wieczór,
    Można też bez VBA, ale to troszkę więcej pracy.
    Plik z danymi można zaimportować do Excela (Dane/Dane zewnętrzne/Z tekstu), dane rozdzielane spacjami. Po imporcie otrzymuje się trzy kolumny, z których środkowa zawiera potrzebne dane, a pierwszą i trzecią można usunąć (niekoniecznie). Czas jest skonwertowany prawidłowo, natomiast wartości liczbowe przepływu są z kropką dziesiętną, którą trzeba zamienić na przecinek (Narzędzia główne/Znajdź i zaznacz/Zamień (kropkę na przecinek)/Zamień wszystko)
    Następnie należy użyć funkcji Excela np. funkcji PRZESUNIĘCIE do ustawienia danych w dwie kolumny potrzebne do wykonania wykresu. Jeśli na osi odciętych ma być czas, trzeba tę oś ręcznie sformatować, wpisując odpowiednie wartości początku osi i jednostki głównej (można wpisać w formacie czasu lub dziesiętnie).
    Przykład w załączniku.

    0
  • #7 19 Kwi 2014 21:29
    krisnj2
    Poziom 5  

    Sam na piechotę doszedłem do "...zmienić na przecinek..." tyle udalo mi się zrobić :)
    Myślę, że najkorzystniejsza (naj mniej energochłonna) jest pierwsza propozycja.

    Ale dzięki za podpowiedzi.

    0
  • #8 28 Kwi 2014 11:52
    krisnj2
    Poziom 5  

    Działało do czasu wstawienia pliku z załącznika, do exela wrzuca tylko pierwszy wiersz :(

    Sorka nie wgrało załącznika, ale problemem jest chyba to że tym razem flow jest na "minusie" i wgrywa dopiero pierwszy flow 0.coś tam:


    14-04-25 17:46:05
    Flow -0.0125334 m3/h
    ...

    14-04-28 11:38:11
    Flow 0 m3/h

    0
  • #9 28 Kwi 2014 13:42
    marcinj12
    Poziom 40  

    Szczegóły? Przykład?

    0