Spacje końcowe automatyczne usuwanie?

Użytkowanie arkusza kalkulacyjnego

Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Pt mar 23, 2018 4:29 pm

Witam
Czy jest możliwość "na stałe" usuwania spacji końcowych w całym arkuszu? Na szybko robię ctrl+f i zamieniam ale dosyć męczące przy częstym doklejaniu nowych komórek. Dziękuję za pomoc.
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Vakarian » N mar 25, 2018 9:18 pm

Można to osiągnąć za pomocą opcji Znajdź i zamień (domyślnie Ctrl + H). W pole Znajdź wpisujesz " $" (spacja$, bez cudzysłowu), pole Zamień zostawiasz puste. Rozwijasz Inne opcje i zaznaczasz Wyrażenia regularne. Wciskasz Zamień wszystkie i program czyni magię. Wyrażenie " $" znajdzie wszystkie POJEDYNCZE spacje znajdujące się na końcu akapitu (w tym przypadku na końcu tekstu w komórce). Jeżeli w jakiejś komórce znajdują się dwie lub więcej spacje na końcu tekstu, to zostanie usunięta jedynie jedna z nich, nic nie stoi jednak na przeszkodzie, aby powtarzać Zamień wszystkie tak długo, aż usunięte zostaną wszystkie.

Możesz również zaznaczyć opcję Wszystkie arkusze pod polem Znajdź, jeżeli chcesz dokonać zamiany we wszystkich arkuszach otwartego dokumentu.

Jeżeli natomiast chciałbyś rozwiązanie, które będzie usuwało spacje automatycznie w momencie wklejania tekstu do komórki, to cóż... Ja Ci nie pomogę. Może dałoby się to osiągnąć za pomocą jakiegoś makra, ale w tym temacie jestem całkowicie zielony.
LibreOffice 6.0.1, OS Windows 7
Avatar użytkownika
Vakarian
 
Posty: 78
Dołączył(a): N lip 17, 2016 6:51 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Pn mar 26, 2018 7:39 am

Dziękuję, tak właśnie robię, a może formatowanie warunkowe lub autokorekta da radę?
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Jermor » Pn mar 26, 2018 4:07 pm

Jeśli używasz wyrażeń regularnych, to w polu znajdź wpisz " +$" (spacja, znak+, znak dolara). Dzięki temu w jednym przebiegu znajdziesz wszystkie wielokrotne a nie tylko pojedyncze wystąpienia spacji na końcu.
Napisz jednak proszę z jakiego powodu na końcu pojawiają się spacje? Co to znaczy "doklejanie komórek"?
AOO 4.1.5, LO 5.4.7 (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ą taki sam problem, będą wiedzieli, że jest rozwiązanie.
Jermor
 
Posty: 440
Dołączył(a): So paź 12, 2013 11:09 am

Re: Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Wt mar 27, 2018 11:28 am

Przepraszam-doklejanie tj. kopiuj wklej z innego pliku i nie wiem jeszcze z jakiego powodu tam spacje się pojawiają (nie jest mój).
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Jermor » Wt mar 27, 2018 4:16 pm

Bardzo oszczędnie opisałeś to co robisz. Często rozwiązanie można dopasować do wykonywanych działań a nie tylko jednej operacji Kopiuj i wklej.
Zakładam, że kopiujesz co jakiś czas kolumnę danych z innego pliku. Ten plik ma zawsze taka samą budowę, a więc potrzebne dane znajdują się zawsze w tych samych komórkach.
Możesz zatem w twoim pliku zbudować formułę w rodzaju
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=USUŃ.ZBĘDNE.ODSTĘPY('file:///Z:/km/plikroboczy.ods'#$Arkusz1.C1)

i skopiować ją w dół. Funkcja USUŃ.ZBĘDNE.ODSTĘPY usuwa spacje poprzedzające i kończące tekst a wszystkie zwielokrotnione spacje znajdujące się wewnątrz, zastępuje jedną spacją.
Całą te kolumnę możesz teraz skopiować a następnie wkleić na siebie samą jako tekst. Możesz też pozostawić kolumnę z formułą, jako kolumnę roboczą i z niej przekopiowywać wartości jako tekst (czyli Wklej specjalnie).
AOO 4.1.5, LO 5.4.7 (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ą taki sam problem, będą wiedzieli, że jest rozwiązanie.
Jermor
 
Posty: 440
Dołączył(a): So paź 12, 2013 11:09 am

Re: Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Śr mar 28, 2018 11:52 am

Dziękuję za podpowiedzi, mniej więcej tak to wygląda: otrzymuje numery(?) (litera z liczbą) w pliku np"X" (tylko do odczytu), w ilości ok kilkadziesiąt komórek(różne kolumny) i tam część z nich już ma spację końcową. Kopiuję do pliku "Y" do kolumny np "B" , w kolumnie "A" mam kilkaset numerów(litera z liczbą), w formatowaniu warunkowym- formułą LICZ.JEŻELI($A$1:$A$20000;$A1)>0 zaznaczam sobie duplikaty. Jeżeli jest spacja końcowa to formuła nie działa dlatego szukam rozwiązania aby po samym wklejeniu wszystko zadziałało :)
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Jermor » Śr mar 28, 2018 1:30 pm

Kiedy już wiem o co chodzi to proponuję taką formułę:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
=LICZ.JEŻELI($A$1:$A$20000;USUŃ.ZBĘDNE.ODSTĘPY($A1)&" *")

nie wymaga ona usuwania spacji, gdyż wykorzystując wyrażenia warunkowe uwzględnia wszystkie ewentualne spacje dodatkowe. Ostatni element, zapisany w cudzysłowie to spacja i gwiazdka.
Wyszukiwanym ciągiem jest wyrażenie regularne będące wynikiem funkcji USUŃ.ZBĘDNE.ODSTĘPY (tak jak to opisałem w poprzednim poście) i dołączonego ciągu z zerową lub większą liczbą spacji na końcu.
Nie ma potrzeby usuwania spacji końcowych. Zostaną uwzględnione w formule.
AOO 4.1.5, LO 5.4.7 (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ą taki sam problem, będą wiedzieli, że jest rozwiązanie.
Jermor
 
Posty: 440
Dołączył(a): So paź 12, 2013 11:09 am

Re: Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Śr kwi 04, 2018 5:39 pm

Super! Wielkie dzięki, rozpoczynam testy.

EDIT:

Witam ponownie, przepraszam pokręciłem trochę. Formułą LICZ.JEŻELI($A$1:$A$20000;$B1)>0 zaznaczam sobie duplikaty , wcześniej błędnie podałem LICZ.JEŻELI($A$1:$A$20000;$A1)>0 . Przy zapisie formuły podpowiedzianym przez Jermor tj. =LICZ.JEŻELI($A$1:$A$20000;USUŃ.ZBĘDNE.ODSTĘPY($A1)&" *") problem ze spacjami jest rozwiązany, pojawia się inny- np. zaznaczone zostaje w kolumnie "A" wyrażenie X12345 jako duplikat mimo że w kolumnie "B" jest YX12345. Jeszcze raz poproszę o podpowiedzi co zrobić aby zaznaczenie zadziałało poprawnie. Dziękuję
Ostatnio edytowano Pn kwi 09, 2018 6:32 pm przez rogerege, łącznie edytowano 1 raz
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Jermor » Wt kwi 10, 2018 5:53 pm

Załącz kawałek tego pliku, ale taki aby twój problem w nim występował.
AOO 4.1.5, LO 5.4.7 (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ą taki sam problem, będą wiedzieli, że jest rozwiązanie.
Jermor
 
Posty: 440
Dołączył(a): So paź 12, 2013 11:09 am

Re: Spacje końcowe automatyczne usuwanie?

Postprzez rogerege » Pt cze 08, 2018 7:22 am

Witam ponownie. Potestowałem parę tygodni i działa wszystko sprawnie, dzięki wielkie za pomoc. Teraz jeszcze zapytam czy można sortować po tle komórki? Albo czy można oznaczyć komórki w których zadziałała formuła? np: 0,1 w sąsiedniej komórce?
OpenOffice 4.1.1 Win7
rogerege
 
Posty: 6
Dołączył(a): Pt mar 23, 2018 4:20 pm

Re: Spacje końcowe automatyczne usuwanie?

Postprzez Jan_J » Pt cze 08, 2018 9:53 am

rogerege napisał(a):czy można sortować po tle komórki?

1. Na poziomie ALGORYTMÓW sortowania. Da się sortować ze względu na każdą właściwość, która pozwala na porównywanie i jest przypisana do sortowanych obiektów. Trzeba odpowiednio określić operacja porównywania wartości i zamiany ich miejscami.

2. Na poziomie INTERFEJSU użytkownika, wyzwalającego sortowanie wektorów w arkuszu. Nie da się. Ta metoda pozwala tylko czytać dane z komórek, a nie formaty. Jedynym porządkiem, jaki da się w niej wymusić, jest porządek leksykograficzny ze wskazaniem priorytetów kolejności osi, przy czym wartości na osiach są danymi typu prostego: albo liczbowego, albo tekstowego, albo predefiniowanego typu wyliczeniowego (listy sortowania). Jest to duża swoboda, ale wymaga, by właściwość decydująca o porządku była zapisana w kolumnie, a nie np. wyliczana z wielu kolumn. Nie da się też użyć interfejsu sort do analizy formatu komórki.

1+2. a. To znaczy, że da się napisać funkcję operującą na regionie i sortującą zawartość na podstawie danych nie zapisanych explicite (wyrażenia wyliczane z wartości albo ustalane na podstawie formatu). Ale nie da się użyć gotowego przycisku ani opcji w menu.
b. Na ogół prościej będzie zmienić organizację danych niż pisać i wdrażać takie funkcje. To znaczy, zamiast oznaczać kolorem informację, poświęcić jedną lub więcej kolumn na opis zanczników tekstowych albo liczbowych decydujących o kolorze. Kolor będzie się dało przypisać automatycznie na ich podstawie (czy o to chodzi w następnym pytaniu?), a kolumna znaczników może stać się podstawą sortowania.

Np. Zamiast oznaczać osoby które rozliczyły się z płatności kolorem zelonym, a dłużników na czerwono, wprowadzamy kolumnę "Do Spłaty" z opisem wartości kwotowej. Sortujemy ze względu na jej wartość, jednocześnie automatycznie ustalając reguły malowania danego wiersza na podstawie analizy liczby z tej kolumny.

Albo czy można oznaczyć komórki w których zadziałała formuła? np: 0,1 w sąsiedniej komórce?

Formatowanie warunkowe.
Wątki z naszego forum: https://forum.openoffice.org/pl/forum/s ... +warunkowe
Mirosław Zalewski aka Minio: http://przepis-na-lo.pl/2012/12/formatowanie-warunkowe/
Jerzy Moruś aka JerMor: https://yestok.pl/ooo/y56.php
Czy o to chodzi?
JJ
LO 5.4 ∙ AOO 4.1.4 ∙ Python (3.6|2.7) ∙ Unicode 10 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3625
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław


Powrót do Calc

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości