Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

excel - Jak dopisać do każdego wiersza na początku pewne wartości...

zadiar 07 Wrz 2013 10:48 6450 17
  • #1 07 Wrz 2013 10:48
    zadiar
    Poziom 9  

    Mam plik csv do importu do sklepu no i powinien on posiadać ID numer, ale trzeba go dopisać. Otwieram plik w excelu i mogę tam dopisać na początku każdego wiersza te numery jednak to nie o to chodzi żeby robić to ręcznie prawda?
    jakiej komendy itd użyć żeby excel dopisał do początku każdego wiersza "1|" ?
    Dla wyjadaczy to prościzna, ja sie na tym nie znam :P proszę o pomoc.

  • #2 07 Wrz 2013 11:52
    Maciej Gonet
    Poziom 31  

    Dzień dobry,
    Proszę najlepiej załączyć przykładowy plik: co jest i jak ma wyglądać po przeróbce, bo opis jest bardzo nieprecyzyjny - nie wiadomo jaka jest struktura danych, czy to ma być dodane na początku do każdego wiersza w kolumnie A, czy ma być jakaś dodatkowa kolumna? Pisze Pan o pliku csv. Czy ma to być później wyeksportowane do pliku csv, czy ma zostać w Excelu?

  • #3 07 Wrz 2013 12:16
    zadiar
    Poziom 9  

    excel - Jak dopisać do każdego wiersza na początku pewne wartości...
    coś takiego... plik ma być potem zapisany jako csv ale z tym nie ma problemu.
    Kolumna zapisana jest tylko A. W każdym wierszu początek i koniec całej linijki tekstu jest w kolumnie A. Myślę że to coś pomogło.

  • #4 07 Wrz 2013 14:23
    Maciej Gonet
    Poziom 31  

    Jest kilka sposobów, których tu można użyć. Podam 2 warianty bez użycia makr. Jeśli problem występuje często, to można również użyć makra.
    Moja propozycja:
    1) Zaznaczamy drugą kolumnę (kol.B) na wysokość danych.
    2) Do komórki w pierwszym wierszu (B1) wpisujemy formułę: ="1|"&A1
    3) Przytrzymując Ctrl naciskamy Enter.
    Wariant 1:
    4) Kopiujemy kolumnę przez Ctrl+C
    5) Narzędzia główne/Wklej/Wklej wartości.
    6) Umieszczamy kursor w kolumnie A i kasujemy kolumnę: Narzędzia główne/Usuń/Usuń kolumny arkusza.
    7) Zapisujemy plik w dogodnym formacie np. csv.
    Wariant 2:
    4) Zapisujemy plik w formacie .csv i zamykamy go.
    5) Otwieramy ponownie zapisany plik i usuwamy kolumnę A jak w p.6 wariantu 1.
    6) Zapisujemy plik w dogodnym formacie np. csv.

    Opis dotyczy wersji Excela 2007 i późniejszych. W 2003 jest trochę inna droga do poleceń, ale również wszystko da się zrobić.
    Jeśli byłoby potrzebne makro to proszę jeszcze napisać.

  • #5 07 Wrz 2013 14:51
    PRL
    Poziom 33  

    Jak nie chcesz się męczyć w klikanie, to:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dlaczego wszystkie pozycje mają mieć ten sam identyfikator, to nie rozumiem.;)

    Poprawiłem...

  • #6 07 Wrz 2013 14:53
    zadiar
    Poziom 9  

    nie działa... nie zmienia narastająco tych liczb, ale zmienia tylko jest ta jedynka wszędzie, a ja potrzebuję 1| a w drugim wierszu 2| a w trzecim 3|.
    zapis już będzie prościzną do tego csv itd. jedynie ta komenda sprawia tutaj problem.

  • Pomocny post
    #7 07 Wrz 2013 15:42
    Maciej Gonet
    Poziom 31  

    Jeśli numeracja ma się zmieniać, to formuła może być np.
    =WIERSZ(A1)&"|"&A1
    gdzie A1 jest adresem pierwszej komórki. Ale Pan nie napisał, że numer ma się zmieniać.

  • #8 07 Wrz 2013 17:10
    zadiar
    Poziom 9  

    Bracie... ziomku, przyjacielu... nie jestem żadnym Panem.. bardzo dziękuje za pomoc.. jak mi pomagasz to jesteś dla mnie bratem a nie jakimś tam.. chybaże sam chcesz żebym do Ciebie Pan wołał, ale to forum chyba jest dla luzaków bardziej co nie?
    BTW... Działa!!

  • #9 08 Wrz 2013 21:47
    zadiar
    Poziom 9  

    Jeszcze jedno pytanie... nie wchodzi mi to bo powinno to wyglądać tak:
    |"tu coś tam napisane pomiędzy cudzysłowem jak widać"|

    a pierwsza jakby kolumna nie ma cudzysłowów czyli jest tak:
    |tu coś tam napisane pomiędzy tylko kreskami tak jak widać|

    excel - Jak dopisać do każdego wiersza na początku pewne wartości...
    dlatego, czy da się usunąć wszystko co jest napisane do pierwszego "|" czyli wszystko co jest napisane do pewnego znaku? zaczynamy usuwać z lewej i usuwanie kończy się na znaku | ? da sie tak? cholera nie usunę ręcznie 2 tysięcy wpisów :P lub też nie dopiszę cudzysłowów do tego bez sensu by to bylo

  • #10 09 Wrz 2013 12:25
    Maciej Gonet
    Poziom 31  

    Kolego, jakbyś tak pisał bardziej precyzyjnie o co Ci chodzi!
    Czy ten znak "|" na początku ma pozostać, czy też ma być usunięty?
    Jeśli ma pozostać to można użyć formuły (zakładając, że oryginalny tekst jest w A1):
    =FRAGMENT.TEKSTU(A1;ZNAJDŹ("|";A1);DŁ(A1))
    Jeśli ma być usunięty, to trzeba dodać jedynkę:
    =FRAGMENT.TEKSTU(A1;ZNAJDŹ("|";A1)+1;DŁ(A1))

    Pozdrowienia!

  • #11 09 Wrz 2013 13:03
    zadiar
    Poziom 9  

    ok to tak:
    wygląda to na surowo tak:
    YSZUFPRN|"YSZUFPRN"|"Higiena i czystość >> Szufelki"|"Szufelka PRESTIGE.
    YWORMOC60L|"YWORMOC60L"|"Higiena i czystość >> Worki na śmieci"|"Worki na śmieci.


    a ma to wyglądać dokładnie tak przykład:
    1|"YSZUFPRN"|"YSZUFPRN"|"Higiena i czystość >> Szufelki"|"Szufelka PRESTIGE.
    2|"YWORMOC60L"|"YWORMOC60L"|"Higiena i czystość >> Worki na śmieci"|"Worki na śmieci.

  • #12 09 Wrz 2013 13:32
    PRL
    Poziom 33  

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Domyślam się, że Kolega może nie wie co z tym kodem zrobić, prawda?

  • #13 09 Wrz 2013 13:49
    Maciej Gonet
    Poziom 31  

    Zaczynam się już powoli niecierpliwić, zdecyduj się Kolego, co chcesz mieć.
    W tej ostatniej wersji formuła może być taka:
    =WIERSZ(A1)&"|"""&LEWY(A1;ZNAJDŹ("|";A1)-1)&""""&FRAGMENT.TEKSTU(A1;ZNAJDŹ("|";A1);DŁ(A1))
    Reszta procedury jak poprzednio.
    Albo skorzystać z pomocy Kolegi, który proponuje to zrobić w VBA.
    Pozdrowienia.

  • #14 09 Wrz 2013 15:12
    zadiar
    Poziom 9  

    ej no właśnie bracie sie dowiedizałem w developerze... jednak mam error 28
    "out of stack space"

  • #15 09 Wrz 2013 15:18
    PRL
    Poziom 33  

    Ej no siostro, pokaż cały komunikat błędu i linię, w której błąd wystąpił.
    Programowanie, to nie HipHop...;)

  • #16 10 Wrz 2013 13:01
    zadiar
    Poziom 9  

    to ja spowrotem... mam takie jeszcze pytanie... dałoby się usunąć pewne jakby kolumny (bo wszystko jest w jednym wierszu przypominam)?
    34|"Rękawice z tworzywa sztucznego B:BRALATEX-BLUE N"|"RALATEX-BLUES"|"Ochrona rąk"|"Rękawice gumowe oraz z tworzyw"|"Latex"|"http://home.pl/bhp/get.aspx?img=0003441088.jpg"|"0003441104.jpg"|"0003441120.jpg"|"0003441136.jpg"|"23"|"REIS"|

    żeby usunąć te jpg'i? tak żeby usunąć te jakby 7 mą 8mą i 9tą kolumnę |1|2|3|4|5|6|7|8|9|10 itd. a jeszcze do wartości w 10tej dopisać "http://home.pl/bhp/get.aspx?img=" zaraz przed wartoscią "0003441136.jpg"?

    Czyli żeby przykład wyglądał tak:
    34|"Rękawice z tworzywa sztucznego B:BRALATEX-BLUE N"|"RALATEX-BLUES"|"Ochrona rąk"|"Rękawice gumowe oraz z tworzyw"|"Latex"|"http://home.pl/bhp/get.aspx?img=0003441136.jpg"|"23"|"REIS"| ?
    da sie tak zrobić? powiem szczerze, że nie widzi mi się poprawianie tych tysięcy takich linijek pls help bros.

  • #17 10 Wrz 2013 15:06
    PRL
    Poziom 33  

    Po wykonaniu makra 'Id', wykonaj to makro:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Zmieniasz dane wejściowe, więc nie jestem w stanie napisać Ci jedno makro, które z danych wejściowych utworzy oczekiwane dane wyjściowe...

  • #18 11 Wrz 2013 12:43
    zadiar
    Poziom 9  

    ehhh w sumie te pytania były głupie bo najlepiej użyć programu specjalnie przygotownego pod edycję csv. jest pare darmowych i są ekstra! dziękuję za pomoc

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME