Strona 1 z 1

Wylaczenie slowa ze zdania ;]

PostNapisane: Pt mar 01, 2019 7:57 pm
przez Dawidek990
Witam, orietuje sie ktos czy istnieje jakas funkcja lub polaczenie funkcji ktora mogla by mi wylaczyc ze zdania tylko to co znajduje sie od konca do ostatniej spacji?
np PŁYTKI PARADYŻ ABRILA BIANCO MOZAIKA MIX 29,8X29,8
Chce zeby zostalo samo 29,8X29,8

wiem ze np funkcja =DŁ(F2)-DŁ(PODSTAW(F2;"X";"")) pokazuje mi ile X znajduje sie w danej komorce.

pomoze ktos? ;]
pozdrawiam
Dawidek990 ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: So mar 02, 2019 9:14 pm
przez belstar
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=USUŃ.ZBĘDNE.ODSTĘPY(PRAWY(PODSTAW(A1;" ";POWT(" ";200));200))

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: So mar 02, 2019 9:58 pm
przez Dawidek990
dzieki dziala
jest tez inna opcja
=PRAWY(B2;DŁ(B2)-SZUKAJ.TEKST("[^\s]+$";B2)+1)

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: So mar 02, 2019 10:09 pm
przez Dawidek990
mam dodatkowe pytanie, gdyby nazwa byla: PŁYTKI PARADYŻ ABRILA 29,8X29,8 BIANCO MOZAIKA MIX
i chcial bym wylaczyc 29,8X29,8 czyli zalozmy ze formula szuka "X" i wycina do spacji przed i za nim?

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N mar 03, 2019 1:37 pm
przez belstar
Najpierw użyj funkcji ZNAJDŹ() do określenia pozycji X w ciągu. Później funkcji LEWY() i PRAWY() do spreparowania odpowiednich ciągów. LEWY() zwróci 29,8 na końcu ciągu, a PRAWY() na początku.I teraz użyj formuły z początkowych postów i połącz to co zwrócą, oczywiście jedną formułę musisz przerobić żeby ci zwróciła pierwszy wyraz ciągu.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N mar 03, 2019 7:13 pm
przez Dawidek990
nie jestem mistrzem od laczenia formul, mozesz napisac jak to powinno wygladac? ;]
znalazlem inna formule na to, ale ciekaw jestem jak ty to widzisz ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N mar 03, 2019 8:05 pm
przez belstar
Np. tak:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=PRAWY(LEWY(B1;ZNAJDŹ("X";B1));DŁ(LEWY(B1;ZNAJDŹ("X";B1)))-SZUKAJ.TEKST("[^\s]+$";LEWY(B1;ZNAJDŹ("X";B1)))+1)&LEWY(PRAWY(B1;DŁ(B1)-ZNAJDŹ("X";B1));ZNAJDŹ(" ";PRAWY(B1;DŁ(B1)-ZNAJDŹ("X";B1)))-1)

Rozwiązań na pewno może być wiele.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N mar 03, 2019 10:32 pm
przez Dawidek990
i to jest jedna formula? ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N mar 03, 2019 10:36 pm
przez Jan_J
Rozwiązań na pewno może być wiele.

LibreOffice Calc w wersji >= 6.2 posiada funkcję REGEX, która w tym zastosowaniu jest jak znalazł:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=regex(B1, " *[^ X]*X[^ ]*", "")
Usuń całe słowo zawierające literę X, wraz z poprzedzającą grupą spacji.
6.2 to najnowsza, na razie eksperymentalna wersja pakietu LO.
https://help.libreoffice.org/6.2/en-US/ ... regex.html

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 08, 2019 6:43 pm
przez Dawidek990
=PRAWY(LEWY(B1;ZNAJDŹ("X";B1));DŁ(LEWY(B1;ZNAJDŹ("X";B1)))-SZUKAJ.TEKST("[^\s]+$";LEWY(B1;ZNAJDŹ("X";B1)))+1)&LEWY(PRAWY(B1;DŁ(B1)-ZNAJDŹ("X";B1));ZNAJDŹ(" ";PRAWY(B1;DŁ(B1)-ZNAJDŹ("X";B1)))-1)

Ta formula zadzialala... pytanie co mam zrobic w przypadku gdy mam:
<img src=''https://a.allegroimg.com/s1440/01bbc8/277586794e3baa4f63c35d0b0bb8'' asdhbas ahsbd ahsbd
a potrzebuje tylko link: https://a.allegroimg.com/s1440/01bbc8/2 ... c35d0b0bb8

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 08, 2019 8:46 pm
przez Jermor
Rozwiązaniem będzie formuła:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=MID(A1;SZUKAJ.TEKST("'";A1)+2;SZUKAJ.TEKST("' .*$";A1)-SZUKAJ.TEKST("'";A1)-3)

Uwaga!
Jeśli załączony przez ciebie przykład jest kopią tego co otrzymałeś, to zwróć uwagę na to, że w zapisie
Dawidek990 napisał(a):<img src=''https://a.allegroimg.com/s1440/01bbc8/277586794e3baa4f63c35d0b0bb8'' asdhbas ahsbd ahsbd

Przed literami https oraz po literach bb8 nie występuje znak cudzysłowu lecz dwa następujące po sobie znaki apostrofu. Dlatego w funkcjach SZUKAJ.TEKST szukanym ciągiem jest znak apostrofu stąd zapis "'" czyli cudzysłów, apostrof, cudzysłów. Ten ciąg znajduje położenie pierwszego apostrofu, dlatego początek wyodrębnionego tekstu zaczyna się +2 znaki dalej. Ciąg "' .*$" czyli cudzysłów, apostrof, spacja, kropka, gwiazdka, znak dolara, cudzysłów znajduje położenie ostatniego apostrofu w ciągu stąd odpowiednia korekta do określenia długości wyodrębnionego ciągu.
Jeśli w ciągu wystąpią jednak cudzysłowy to formułę trzeba zmodyfikować.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 08, 2019 9:25 pm
przez Dawidek990
okej, to moze troche inaczej... zeby to byl obardziej uniwersalne...
link ktory chce wyodrebnic jest w kodzie html...

</div>

</section>

<section class=''section''>

<div class=''item item-6''>
<section class=''image-item''>
<img src=''https://a.allegroimg.com/s1440/01ccf7/b6dc32034eb491aec55870ea58e4'' srcset=''https://a.allegroimg.com/s360/01ccf7/b6dc32034eb491aec55870ea58e4 360w, https://a.allegroimg.com/s720/01ccf7/b6 ... 5870ea58e4 720w, https://a.allegroimg.com/s1024/01ccf7/b ... 5870ea58e4 806w'' sizes=''(min-width: 1200px) 560px, (min-width: 992px) 50vw, 100vw'' width=''806px''/>
</section>

</div>


to jest jego czesc... niestety formula ktora podales na ten nie zadziala... ja potrzebuje pierwszy link.
Przydlo by sie co w stylu: znajdz https i skopiuj wyrazenie do apostrofu (bez apostrofu).

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 08, 2019 10:33 pm
przez Jermor
Nie zadziałała bo załączony przykład sugerował iż pozostała część ciągu to tylko znaki literowe. Napisałem, że funkcja znajduje ostatni znak apostrofu. Faktyczny ciąg jest dużo dłuższy i w dalszej części zawiera kolejne znaki, więc ten ostatni nie jest w ogóle tym jaki ma zostać wykorzystany.
Jeśli to ma działać, to pierwsze pytanie
skąd jest pobrany ten kod? Elementy kodu html są ujmowane w cudzysłowy albo pojedyncze apostrofy. W kodzie zaprezentowanym przez ciebie są podwójne apostrofy!
Pytanie drugie, jak naprawdę wygląda ciąg znakowy, z którego ma zostać wyciągnięty link?
Zakładając, że chodzi o pierwszy adres zamieszczony wewnątrz znacznika <img> formuła może być następująca:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=MID(A1;SZUKAJ.TEKST("http";A1);SZUKAJ.TEKST("'";A1;SZUKAJ.TEKST("http";A1))-SZUKAJ.TEKST("http";A1))

Ta formuła dotyczy przedstawionego przez ciebie przykładu, w którym występują podwójne apostrofy a nie cudzysłowy.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 08, 2019 10:47 pm
przez Dawidek990
1. tak wyeksportowal to EasyUploader jako opis aukcji z allegro.
2. Wlasnie tak jak go podalem.

Dziala dzieki. Chociaz myslalem ze jest na to prostrza formula... ale moze byc ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: N lip 14, 2019 5:54 pm
przez Dawidek990
Mam inny problem kolejny.

Mam w jednej komorce tekst typu:
<id>550124</id><guid>238974shdbf23874dgf23hr</guid><id>550125</id><guid>238974shdbf23874dgf23hr</guid><id>550126</id><guid>238974shdbf23874dgf23hr</guid><id>5503454</id> <guid>238974shdbf23874dgf23hr</guid><id>550456</id> <guid>238974shdbf23874dgf23hr</guid><id>550456</id><guid>238974shdbf23874dgf23hr</guid>


Potrzebuje zeby formula oddzielila wszystkie numery id, moze byc do osobnych komorek moze byc w tej samej, ale zeby formula wydzielila nie jeden a wszystkie numery id ktore sie znajduje w komorce...
Jest to wgl mozliwe?

czyli powinienem otrzymac: 550124 550125 550126 5503454 550456 550456... tych id jest kilkaset czesto i podzielenie tekstu na kolumny w calcu jest ograniczone.
kazdy id zaczyna sie od 550... moze to pomoze?

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 15, 2019 10:48 pm
przez Jermor
Jest to możliwe, ale nie przy pomocy formuł wbudowanych do Calca. Dlatego napisałem ci funkcję w basicu, która robi to co jest ci potrzebne.
Funkcję możesz przegrać do kontenera makr związanego z twoim plikiem i wtedy będzie działała tylko w tym pliku. Możesz też wgrać ją do kontenera "Moje makra" do biblioteki "Standard" i wówczas będzie dostępna w każdym otwartym pliku Calca na twoim komputerze.
Oto funkcja
Kod: Zaznacz cały   Rozszerz widokZwiń widok
Function liczby(tekst,przed,za, optional separator) as string
REM Funkcja z ciągu tekstowego "tekst" wyodrebnia wszystkie teksty
REM znajdujące sie między ciagami "przed" i "za" i łączy je w jeden
REM nowy ciąg rozdzielając je ciągiem podanym jako "separator".
dim t as string
dim pos1 as long, pos2 as long
rem pos1 wyznacza położenie ciągu "przed", pos2 położenie ciągu "za"
dim i as integer
if IsMissing(separator) then separator=" "
pos1=1 : pos2=1
t=""
pos1=InStr(pos1,tekst,przed)
if pos1=0 then
   liczby="brak ciągu przed"
   exit Function ' ciąg "przed" w ogóle nie wystepuje w tekście
End If
i=len(przed) 'zawiera długośc ciagu "przed"
do
   pos2=InStr(pos1,tekst,za)
   t=t &  mid(tekst,pos1+i,pos2-pos1-i) & separator
   if pos2=0 then exit do
   pos1=InStr(pos2,tekst,przed)
loop while pos1<>0
liczby=left(t,len(t)-len(separator))
End Function

Funkcja ma cztery parametry. Pierwszy - tekst -określa tekst jaki ma być przeanalizowany, drugi - przed - określa jak wygląda ciąg poprzedzający wymagany do wyodrębnienia ciąg znaków, trzeci - za - określa ciąg jaki kończy poszukiwany ciąg i czwarty pozwala określić jakim separatorem będą rozdzielane znalezione ciągi. Jeśli czwarty parametr zostanie pominięty, separatorem będzie spacja.
Czyli jeśli twój ciąg jest np. w komórce A1, to możesz wpisać funkcję do wybranej komórki w takiej np. postaci:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=LICZBY(A1;"<id>";"</id>";"-++-")

Zostaną wyodrębnione i połączone w całość wszystkie ciągi zawarte między "<id>" i "</id>", dodatkowo rozdzielone znakami "-++-"
Oczywiście ciągi "przed", "za" i "separator" mogą być wpisane do wybranych komórek i to one będą wówczas parametrami tej funkcji.
Funkcja może wyodrębniać dowolne ciągi zawarte między "przed" i "za", nazwę LICZBY przyjąłem, bo tobie chodziło o wyodrębnienie liczb.

Edytowane 16.07.19
Tych, których zainteresowała zaprezentowana funkcja odsyłam do działu "Projekty użytkowników". Zamieściłem tam poprawioną funkcję. Zmieniłem jej nazwę na EKSTRAKT i dodałem opis.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 15, 2019 11:43 pm
przez Dawidek990
wow dziala... wielkie dzieki :)

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn lip 15, 2019 11:44 pm
przez Jermor
Calc ma 1024 kolumny, więc 759 da się rozpisać. Jak już będą rozpisane w komórkach to można zrobić transpozycję obszaru, czyli zamienić wiersze z kolumnami. Najpierw kopiuj a potem wklej specjalnie -> transponuj

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Wt sie 20, 2019 1:39 am
przez Dawidek990
Jarmor napisał:
Jest to możliwe, ale nie przy pomocy formuł wbudowanych do Calca. Dlatego napisałem ci funkcję w basicu, która robi to co jest ci potrzebne.
Funkcję możesz przegrać do kontenera makr związanego z twoim plikiem i wtedy będzie działała tylko w tym pliku. Możesz też wgrać ją do kontenera "Moje makra" do biblioteki "Standard" i wówczas będzie dostępna w każdym otwartym pliku Calca na twoim komputerze.
Oto funkcja...


Powiedz mi Jarmor, czy ta funkcje da sie zmodyfikować tak, zeby szukała drugiego wyrażenia w tekscie a nie pierwszego znalezionego?
Czyli mam =LICZBY(A1;"<id>";"</id>";"-++-") i zrobic cos w stylu =LICZBY(A1;"<id>";"</id>";"-++-"2") jesli w tekscie wystepuje 5 <id>...</id> to on wskaze to drugie? ew trzecie, czwarte itd?
Mogl bys to zrobic? ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Wt sie 20, 2019 6:51 pm
przez Jermor
OK. Zmodyfikowałem funkcję i zamieściłem jej poprawioną wersję w sekcji "Projekty użytkowników"
https://forum.openoffice.org/pl/forum/viewtopic.php?f=28&t=5036
Opis funkcji tamże.
W skrócie. Dodatkowe parametry pozwalają wskazać który ciąg ma zostać zwrócony oraz ile kolejnych.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Śr sie 21, 2019 1:09 pm
przez Dawidek990
super, dzieki wielkie ;]

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Śr gru 04, 2019 2:57 am
przez Dawidek990
A powiedz mi, dalo by sie tak zrobic zeby formula wykrywala np drugie w komorce wystepujece slowo jako poczatek, i np czwarte wystepujace slowo jako koniec?
np ekstrakt(a1;"mleko"(ale to ktore wystepuje jako 2 w komorce nie pierwsze);"koniec"(ale np w komorce wystepuja 4 slowa koniec, i zeby znalazl to trzecie np) )
czesto czegos takiego potrzebuje, zeby wyciagnal mi tekst do ktoregos tam slowa ktore wystepuje w tekscie, a nie koniecznie pierwszego ktore znajdzie.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: So gru 07, 2019 2:22 pm
przez Jermor
W odpowiedzi na twój problem napisałem jeszcze jedną funkcję, nazwałem ją: GDZIEJEST. Jej opis, zastosowanie i kod źródłowy znajduje się w sekcji "Projekty użytkowników" pd adresem https://forum.openoffice.org/pl/forum/viewtopic.php?f=28&t=5167

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn gru 09, 2019 2:20 am
przez Dawidek990
emm, nie bardzo rozumiem jak ma to dzialac?
dam ci przyklad... ma tekst:

</P><P>POSIADAMY</P><P>PŁYTKI GRANITOWE, MARMUROWE I TRAWERTYNOWE</P><P>W</P><P>CENIE HURTOWEJ !</P>
<P>NA TEJ AUKCJI PRZEDSTAWIAMY PAŃSTWU</P><P>ŁUPEK KAMIENNY NR 19</P><P>Z KAMIENIA NATURALNEGO !</P>
<P>Znajdzie zastosowanie jako okładzina ścienna, kominkowa, posadzkowa.</P>


ja potrzebuje wyciagnac z niego tylko "<P>NA TEJ AUKCJI PRZEDSTAWIAMY PAŃSTWU</P><P>ŁUPEK KAMIENNY NR 19</P><P>Z KAMIENIA NATURALNEGO !</P>"
ew bez tych <p> ... ale sam taki tekst. Czyli na podstawie ekstrakt bylo by to: EKSTRAKT(a1;"na tej aukcji";"</p>") jednak musial bym mu wskazac ze teskt koncowy </p> ma wyszukac drugi nie pierwszy po wystepujacym tekscie "na tej aukcji". jak mam to zrobic ta nowa funkcja bo jej nie zrozumialem?

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn gru 09, 2019 3:58 pm
przez Rafkus
Stworzona przez @Jermora Funkcja EKSTRAKT(tekst;przed;za;separator;pierwszy;ile) to potrafi. Wpisz polecenie:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=EKSTRAKT(A1;"<P>";"</P>";" ";5;3)

Gdzie:
A1 - komórka z danym tekstem
"<P>";"</P>" - początek i koniec fragmentu tekstu
" " - separator(pomiędzy cudzysłowami jest spacja), zamiast tekstu <P> lub </P> będzie wstawiona spacja
5 - interesuje cię 5 fragment tekstu
3 - interesują cię 3 kolejne fragmenty
Wynik:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
NA TEJ AUKCJI PRZEDSTAWIAMY PAŃSTWU ŁUPEK KAMIENNY NR 19 Z KAMIENIA NATURALNEGO !

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn gru 09, 2019 5:12 pm
przez Jermor
Dokładnie tak jak to opisałem przy omawianiu funkcji FRAGMENT.TEKSTU.
Jeżeli
</P><P>POSIADAMY</P><P>PŁYTKI GRANITOWE, MARMUROWE I TRAWERTYNOWE</P><P>W</P><P>CENIE HURTOWEJ !</P>
<P>NA TEJ AUKCJI PRZEDSTAWIAMY PAŃSTWU</P><P>ŁUPEK KAMIENNY NR 19</P><P>Z KAMIENIA NATURALNEGO !</P>
jest tekstem znajdującym się w jednej komórce (na niebiesko zaznaczyłem to, co ma zostać wyciągnięte) to trzeba określić położenie pierwszego znaku w tym tekście (w tym przykładzie jest to litera N w słowie NA), oraz położenie ostatniego znaku wchodzącego do wymaganego fragmentu (w tym przykładzie jest to znak wykrzyknika).
Podane przeze mnie przykłady zakładają, że przeszukiwany tekst znajduje się w komórce A1.
Położenie pierwszego znaku określimy wyszukując ogranicznika "<P>".
Jest to piąty ciąg w tym tekście, zatem =GDZIEJEST("<P>";A1;5)+3.
Funkcja znajdzie piąte wystąpienie ciągu "<P>", ale położenie pierwszej litery jest o 3 dalej (o długość ogranicznika). Zakładam, że ten wynik znajdzie się w B1.
Ogranicznikiem zamykającym wyszukiwany fragment jest "</P>" W tym przykładzie jest to akurat ostatnie wystąpienie.
Można zatem wpisać funkcję =GDZIEJEST("</P>";A1;"e").
W przypadku gdy ogranicznik zamykający ciąg jest ostatnim elementem tekstu, to do prościej jest użyć funkcji DŁ(A1)-3. Liczba 3 to pomniejszona o 1 długość ogranicznika zamykającego.
Zakładam, że ten wynik znajdzie się w C1.
Ostatecznie formuła "wyciągająca" tekst, znajdująca się D1 to
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=FRAGMENT.TEKSTU(A1;B1;C1-B1)

Pozostaje jednak problem znajdujących się wewnątrz tego wyciętego tekstu ciągów "<P>" i "</P>", które nie powinny znaleźć się w wyszukanym tekście.
Przyjmując, że każde wystąpienie "<P>" ma zostać zastąpione ciągiem pustym a każde wystąpienie ciągu "</P>" znakiem spacji można w komórce E1 wpisać taką formułę:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=PODSTAW(PODSTAW(D1;"<P>";"");"</P>";" ")

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn gru 09, 2019 5:25 pm
przez Jermor
@Rafkus trafnie zauważył, że funkcja EKSTRAKT da radę. W problemie @Dawidek990 rozumiałem, że chodzi o możliwość wycięcia fragmentu o podanych ogranicznikach (mogą być takie same) z włączeniem dowolnego z nich do "wyciąganego" tekstu. Stąd ta nowa funkcja.

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Pn gru 09, 2019 5:31 pm
przez Rafkus
Zakładam teraz, że tekst NA TEJ AUKCJI nie ma stałego umiejscowienia, tzn w twoim przykładzie jest on w piątej części, ale może zdarzyć się że wystąpi np w 7, albo i 11 a chcesz wyodrębnić część zaczynającą się dokładnie od tych słów automatycznie. W tym problemie pomoże własnie nowa funkcja @Jermora GDZIEJEST(co; gdzie;n) - poda ona od którego znaku zaczyna się poszukiwana fraza ( można również określić w niej które wystąpienie danej frazy cię interesuje).
W twoim przykładzie będzie to:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=GDZIEJEST("NA TEJ AUKCJI"; A1;1)

Wynikiem tej funkcji jest pierwsze wystąpienie tekstu NA TEJ AUKCJI w tekście znajdującym się w komórce A1 - wyszło mi że zaczyna się ono na 104 pozycji.
Edytowane: Wycofuję się z pomysłu wykorzystania funkcji MID na rzecz poniższego
Teraz można wykorzystać funkcję pozwalającą wyodrębnić fragment tekstu (W mojej wersji OO nie ma funkcji FRAGMENT.TEKSTU, a raczej występuje ona pod nazwą MID):
=MID(A1;104-3;DŁ(A1))
gdzie:
A1 - komórka z tekstem źródłowym;
104-3 - znaleziona fraza NA TEJ AUKCJI zaczyna się na 104 pozycji, od niej odejmuję 3 aby nowy wyodrębniony fragment tekstu zaczynał się od <P>
DŁ(A1) - długość tekstu oryginalnego
Formułą tą wykluczyłem pierwsze 101 znaków z tekstu początkowego (z komórki A1).

Czemu z tego zrezygnowałem: Ostatnim parametrem funkcji MID jest liczba określająca jak długi ma być wyodrębniony fragment a nie do którego znaku...(sorki pomyliło mi się ;) )

Zamiast funkcji MID (czy też FRAGMENT.TEKSTU) proponuję jednak zastosowanie funkcji ZASTĄP("tekst"; pozycja; długość; "nowy tekst"), czyli
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=ZASTĄP(A1;1;104-1;"<P>")

Formułą tą zamieniłem tekst z komórki źródłowej A1 od znaku 1 do 104-1 (jednego znaku przed poszukiwaną frazą) tekstem <P>. Dla tego nowego tekstu można wykorzystać funkcję EKSTRAKT(Nowy tekst;przed;za;separator;pierwszy;ile)

Oczywiście wszystkie działania można zmieścić w jednej formule:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=EKSTRAKT(ZASTĄP(A1;1;GDZIEJEST("NA TEJ AUKCJI";A1;1)-1;"<P>");"<P>";"</P>";" ";1;3)

Re: Wylaczenie slowa ze zdania ;]

PostNapisane: Śr gru 18, 2019 12:41 am
przez martarak
Najlepie przeanalizować ten przykład:


=USUŃ.ZBĘDNE.ODSTĘPY(PRAWY(PODSTAW(A1;" ";POWT(" ";200));200))