Funkcja wyszukaj i przenies [SOLVED]

Użytkowanie arkusza kalkulacyjnego
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Funkcja wyszukaj i przenies [SOLVED]

Post autor: ziomek2916 »

Witam od kilku dni walczę z plikiem CSV potrzebuje z kolumny A1:A3200 wyciągnąć 13 cyfrowy numer ean tak aby skopiowało w kolumnie po prawej stronie numer ean z A1 do B1 i analogicznie A2 do B2 i tak dalej
Przykladowy wiersz wygląda tak:
<body><p><strong>&#9608; KLUCZ NASADOWY UDAROWY DŁUGI 3/4 27 MM</strong> </p><hr><p>Klucz wytrzymuje duże obciążenia dzięki obróbce cieplnej oraz odpowiedniej technologii kucia. Charakteryzuje się wysoką wytrzymałością na uderzenia.<br></p><ul><li>wykonany ze stali chromowo-molibdenowej CrMo scm 440</li><li>norma DIN 3129</li><li>narzędzie kute oksydowane</li><li>ulepszony cieplnie</li></ul><br><hr><p><strong>&#9608ILOŚĆ SPRZEDAŻOWA:</strong><strong><br></strong></td><td valign=middle>1 szt.<br></td></tr><tr><td valign=middle bgcolor=fdfaa8><strong>&#9989; ILOŚĆ W OPAKOWANIU:</strong><strong><br></strong></td><td valign=middle bgcolor=fdfaa8>10 szt.<br></td></tr><tr><td valign=middle><strong>&#9989; KOD EAN:</strong><strong><br></strong></td><td valign=middle><font face="EFN KK UPCa" size="+4">5902004709581<br></td></tr></td></tr></tbody></table></p><hr></body>
numer ean w tym pliku to 5902004709581

pozdrawiam :)
Ostatnio zmieniony pt paź 01, 2021 12:03 am przez ziomek2916, łącznie zmieniany 1 raz.
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Szanowny @ziomek2916, przede wszystkim umieść w stopce swojego postu, jakiej wersji pakietu i jakiej wersji programu używasz, bo nie przypuszczam, żeby był to OpenOffice 3.1 i do tego na Viście a od tego zależy, co można zaproponować. Jeśli wiesz, że w twoim opisie nie pojawi się inny zestaw 13 cyfr, to taki kod odpowiada tylko kodowi EAN.
Jeśli korzystasz z LibreOffice to w obecnej wersji programu Calc masz funkcję REGEX(), o której możesz poczytać np. tutaj: https://forum.openoffice.org/pl/forum/v ... f=4&t=5513 a mając tę funkcję, wystarczy w B1 wpisać formułę:

Kod: Zaznacz cały

=REGEX(A1;"\d{13}")
Jeżeli w opisie może pojawić się inny 13-cyfrowy ciąg, to funkcje REGEX() można wykorzystać w formule:

Kod: Zaznacz cały

=PRAWY(REGEX(A1;"KOD EAN.*\d{13}");13)
Tutaj wykorzystałem fakt, że kod EAN jest w jakimś miejscu poprzedzony napisem "KOD EAN". Inna formułą może być postać:

Kod: Zaznacz cały

=REGEX(A1;".*KOD EAN.*(\d{13})(.*)";"$1")

Funkcja REGEX() nie występuje w Apache OpenOffice. W nim możesz użyć formuły:

Kod: Zaznacz cały

=MID(A1;SZUKAJ.TEKST("\d{13}";A1);13)
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

Zmieniłem stopkę
Szanowny @Jermor dziękuje za szybka odpowiedz

=REGEX(A1;"\d{13}")
=PRAWY(REGEX(A1;"KOD EAN.*\d{13}");13)
=REGEX(A1;".*KOD EAN.*(\d{13})(.*)";"$1")
wynik mam #NAZWA?
=MID(A1;SZUKAJ.TEKST("\d{13}";A1);13)
wynik mam #ARG!
z góry dziękuje za podpowiedz
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Wynik #NAZWA? oznacza, że funkcja nie została rozpoznana, bo ona nie występuje w Apache OpenOffice.
Ze względu na bogatszy zasób funkcji sugerowałbym przejście na LibreOffice.
Gdyby w tym ciągu tekstowym występowały także inne 13 cyfrowe ciągi, twoja formuła w Apache OpenOffice musiałaby wyglądać tak:

Kod: Zaznacz cały

=MID(A1;SZUKAJ.TEKST("\d{13}";A1;SZUKAJ.TEKST("KOD EAN";A1));13)
Porównaj to z wykorzystaniem REGEX().
Co do błędu #ARG!.
Funkcja SZUKAJ.TEKST() wykorzystuje wyrażenia regularne. Aby Calc wiedział, że takie wyrażenia będą stosowane, musi mieć ustawioną odpowiednią opcję w "Narzędzia -> Opcje -> Calc -> Oblicz -> Włącz wyrażenia regularne w formułach".
O wyrażeniach regularnych możesz poczytać w pomocy. Wpisz (w zakładce "Indeks") do pola "szukane hasło" frazę "wyrażenia regularne".
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

Witam dziękuje za podpowiedz zmieniłem na LibreOffice
teraz mam takie wyniki:
=REGEX(A1;"\d{13}") #NAME?
=PRAWY(REGEX(A1;"KOD EAN.*\d{13}");13) n/a prawy
=REGEX(A1;".*KOD EAN.*(\d{13})(.*)";"$1") a1="opis"
=MID(A1;SZUKAJ.TEKST("\d{13}";A1);13) #NAME? i x szukaj.text
=MID(A1;SZUKAJ.TEKST("\d{13}";A1;SZUKAJ.TEKST("KOD EAN";A1));13) #VALUE!
nic nie dało zmienienie w opcjach oblicz-włacz

w libre w opcjach formuły mam exel A1,Calc A1 i exel r1c1 która powinienem zaznaczyć?

Umieściłem kod ean na końcu tekstu może teraz będzie prościej go przenieść do kolumny po prawej stronie


dzięki za podpowiedz
Ostatnio zmieniony śr wrz 29, 2021 10:30 pm przez ziomek2916, łącznie zmieniany 1 raz.
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

No proszę cię. Dopiero pisałem o stopce, a ty nic nie poprawiłeś. Nie napisałeś też, jaką dokładnie wersję sobie wgrałeś.
Polska strona LibreOffice jako stabilną oferuje wersję 7.2.1, jednak oficjalna strona LibreOffice jako stabilną obecnie uważa 7.1.6 a wersję 7.2.1 jako wersję dla entuzjastów nowinek i zmian.
W Calcu powinieneś mieć ustawiony sposób adresowania Calc A1.
Ponadto, podane przeze mnie funkcję są w wersji polskiej. Upewnij się, że w parametrach "Formuły" masz wyłączoną opcję "Użyj angielskich nazw funkcji".
Uwaga: Nazwy funkcji muszą być wprowadzane w języku, jaki wynika z instalacji lub parametru "Użyj angielskich nazw...". Jednak gdy w dokumencie zmienisz ustawienia tego parametru, nazwy funkcji już wprowadzonych zostaną automatycznie przekształcone na właściwą postać, a nowe muszą być wpisywane wg wybranego sposobu.

Funkcja MID(), którą ci podałem, dotyczyła Apache OpenOffice. W tym pakiecie jej nazwa nie została przetłumaczona i pozostała angielska MID. W LibreOffice funkcja ma polską nazwę, może i niefortunną, FRAGMENT.TEKSTU().
Dokument zapisany w Apache OpenOffice z funkcją MID, przy wczytywaniu do LibreOffice, automatycznie zamieni nazwę MID() na FRAGMENT.TEKSTU() i odwrotnie FRAGMENT.TEKSTU() automatycznie zostanie przekształcony na MID() przy wczytywaniu przez Apache OpenOffice.
Funkcja REGEX() nie wymaga tego, aby ustawiona była opcja "Włącz wyrażenia regularne w formułach". Funkcja SZUKAJ.TEKST() już tak. Dlatego upewnij się, że jest ona zaznaczona. W LibreOffice są trzy możliwości (w części "Oblicz"): "Włącz symbole wieloznaczne w formułach", "Włącz wyrażenia regularne w formułach" oraz "Brak symboli....". Po instalacji oprogramowania ustawiona jest opcja "Włącz symbole wieloznaczne..." a to nie jest to, o co nam chodzi.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

W poście wyżej sugerowałeś zmianę wiec zrobiłem , sory ze zapomniałem o stopce ...
Niestety nie jestem dobry i nie chce się uczyć potrzebne mi tylko by wyciągnąć te 3500 kodów ean i tu się kończy moja zabawa z Libre Word itp
zrobiłem tak:
= FRAGMENT.TEKSTU(A1;SZUKAJ.TEKST("\d{13}";A1;SZUKAJ.TEKST("KOD EAN";A1));13) daje #ARG!
jeśli zmienię A1 na A2 (A1;SZUKAJ.TEKST) szuka mi cały tekst tej komórki ale tylko tej jednej
tak jak wcześniej pisałem zmieniłem układ w komórkach mam EAN na końcu tekstu
Jeśli możesz @Jermor mi pomóc napisz po prostu kod jaki mam wkleić poustawiałem libre tak jak wyżej pisałeś
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Przesyłam ci plik z wynikami. Formułę możesz wybrać sobie sam.
Załączniki
0reg.ods
(108.72 KiB) Pobrany 91 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

Dziękuje kolego Jermor
ale dalej nie szuka mi nie wiem co robię źle. Dodałem pdf ze zrzutem ekranu https://drive.google.com/file/d/1_QBlWq ... sp=sharing
Ostatnio zmieniony czw wrz 30, 2021 10:12 pm przez ziomek2916, łącznie zmieniany 1 raz.
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Zrób plik z jednym wierszem, który nie chodzi, dodaj twoją formułę, tak jak to robisz u siebie i zamieść go na forum.
Zobaczymy, o co chodzi.
P.S. A ten plik, który załączyłem działa?
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

Odpowiedziałeś w czasie jak zastanawiałem się jak załączyć plik na forum ograniczenie 125b
działa Twój, ale tylko z A1 jak są wszystkie daje błąd który jest w pdf na dysku google
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Aby złączyć plik do postu, pod pisanym postem kliknij "Dodaj załącznik" a następnie "Wybierz plik". Kiedy nazwę pliku zobaczysz w odpowiednim polu, kliknij przycisk "Dodaj plik". W ten sposób możesz dodawać pliki "obrazkowe" oraz pliki pakietu LibreOffice i Apache OpenOffice. W ten sposób dodałem poniższą ilustrację.
Natomiast, to, że plik jest na dysku Google to dobrze, tylko kto go przeczyta?
Załączniki
obraz_2021-09-30_222845.png
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

to jest jak wkleję all
Załączniki
1.jpg
LibreOffice 7.2.1 Windows 10
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

a to jak jest tylko A1
Załączniki
2.jpg
LibreOffice 7.2.1 Windows 10
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Niestety, twoje rysunki są słabo czytelne. Robiłeś chyba Print Screen, ale w rozdzielczości słabej.
Widzę, że masz Windows 10. W nim możesz skorzystać ze skrótu "Windows+Shift+S". Otworzy ci się program "Wycinek". Teraz możesz myszką zaznaczyć na ekranie ten fragment, który chcesz skopiować. Po wykonaniu będzie on w schowku. Możesz to zapisać do pliku i wstawiać jako obrazek. Sam program pozwala jednak dodać coś do rysunku, np. zaznaczyć jakiś fragment.
obraz_2021-09-30_231319.png
Najlepiej jednak byłoby gdybyś ten plik z jednym wierszem dołączył do postu.
Do postu możesz dołączać więcej plików, wystarczy ponownie przejść do "Dodaj załącznik". Możesz wstawiać obrazek, a potem plik Calca itd.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Funkcja wyszukaj i przenies

Post autor: Rafkus »

@ziomek2916, Mam wrażenie, że ty kompletnie nie rozumiesz Calca.

Oglądałem na twój plik pdf zapisany na dysku (lepsza jakość) i jeśli chodzi o pierwsze zdjęcie (te górne) to sądzę że :
w komórce A1 masz wpisany tekst : Opis
W komórce B1 masz wpisaną formułę

Kod: Zaznacz cały

= FRAGMENT.TEKSTU(A1;SZUKAJ.TEKST("\d{13}";A1;SZUKAJ.TEKST("KOD EAN";A1));13) 
i jako wynik dostajesz #ARG! (POPRAWNIE) bo w komórce A1 NIE MA kodu EAN, powtórzę tam znajduje się tylko tekst "opis" .

Podana formuła dotyczy TYLKO tej JEDNEJ komórki a NIE CAŁEJ KOLUMNY. Aby uzyskać wynik w komórce B2 musisz "przeciągnąć" formułę z komórki B1 w dół.

Mam wrażenie że to jest sedno twojego problemu (mogę się mylić)...
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Funkcja wyszukaj i przenies

Post autor: Jermor »

Chyba się nie mylisz @Rafkus.
Kiedy pisałem odpowiedź, w poście @ziomek2916 nie było linku do dysku. Został dodany poprzez poprawienie postu, ale ta operacja nie pojawia się już jako nowy post w zwrotnej poczcie, więc ktoś, kto już go przeczytał, nie będzie wiedział, że został zmieniony.
Formuła wyłuskująca kod EAN musi wystąpić oddzielnie dla każdego wiersza, z którego ten kod ma zostać wyłuskany.
Formułę można skopiować do wszystkich wymaganych komórek wynikowych. Ponieważ tych kodów jest 3500, to kopiowanie będzie lepszym wyborem niż przeciąganie.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ziomek2916
Posty: 9
Rejestracja: wt wrz 28, 2021 7:28 pm

Re: Funkcja wyszukaj i przenies

Post autor: ziomek2916 »

Dziękuje @Jermor ,@Rafkus działa
@Rafkus masz racje moja zabawa z Calc zaczęła sie kilaka dni temu i dziś się kończy
pozdrawiam
LibreOffice 7.2.1 Windows 10
ODPOWIEDZ