Wpis z mikrobloga

Czy w excelu da się skrócić tekst z komórki do 20 znaków w taki sposób:

-Tekst w komórce za długaśny jest
do
-Tekst w komórce za
zamiast
-Tekst w komórce za d

Chodzi o to, że gdy zadana liczba znaków przypada na środek wyrazu to żeby usunęło cały ten wyraz, a nie go ucinało w części?

#excel #vba
  • 8
  • Odpowiedz
@semperfidelis: Podrzucam poniżej mój pomysł (możliwe, że da się prościej):

=JEŻELI(PRAWY(FRAGMENT.TEKSTU(H10;1;21);1)=" ";FRAGMENT.TEKSTU(H10;1;20);LEWY(FRAGMENT.TEKSTU(H10;1;21);ZNAJDŹ("~";PODSTAW(FRAGMENT.TEKSTU(H10;1;21);" ";"~";DŁ(FRAGMENT.TEKSTU(H10;1;21))-DŁ(PODSTAW(FRAGMENT.TEKSTU(H10;1;21);" ";""))))-1))
  • Odpowiedz
@papapapuga: przecież jest jasno opisane. OP ma w komórkach zdania i chce je skrócić do ciągu 20 znaków, ale w taki sposób, żeby nie urywało w środku wyrazu tylko zaokrąglało te 20 znaków w dół do najbliższej spacji
  • Odpowiedz
@semperfidelis: Twoja formuła by działać wymaga by tekst zawierał spację. Jeśli nie ma żadnej to się wysypuje. Dodaj jedną od siebie w przeszukiwanym tekście i powinno działać. Np.:

=LEWY(P58;WYSZUKAJ(51;ZNAJDŹ(" ";ZŁĄCZ.TEKSTY(P58;" ");WIERSZ(ADR.POŚR("1:51"))))-1),

wciąż jednak będzie wyrzucać błąd jeśli ten jeden wyraz będzie dłuższy niż limit znaków
  • Odpowiedz