Kopiowanie częściowej komórki do innej komórki w OpenOffice Calc

11

Komórka A1 mówi 0001 John Smith Komórka A2 mówi 0002 Bill Snyder

Chcę to zasadniczo podzielić, więc jedna kolumna pokazuje tylko liczby (0001, 0002 itd.), A następnie inna kolumna pokazuje tylko nazwę.

Pierwsza część jest łatwa. Używając funkcji „= LEWO (A1; 4)” Mogę uzyskać 0001. Jak mogę zdobyć nazwę? Na przykład użycie „PRAWO (A1; 99)” spowoduje pobranie całego ciągu „0001 John Smith”. Ponieważ każde imię ma inną długość, nie jestem pewien, co robić. Czy mogę w jakiś sposób powiedzieć mu, aby chwycił cały ciąg Z WYJĄTKIEM pierwszych 4 znaków? Lub jakoś powiedzieć, aby złapał ostatnie 2 SŁOWA zamiast kilku znaków, o które pyta?


źródło

Odpowiedzi:

12

Aby uzyskać ciąg podrzędny bez pierwszych 4 znaków (plus spację), możesz użyć MIDfunkcji:

MID(A1,6,LEN(A1))

Spowoduje to, że „John Smith Cell A2 mówi 0002 Bill Snyder” . Możesz także naśladować dzielenie tekstu za pomocą FINDfunkcji, na przykład ta formuła wyświetli „0001” :

LEFT(A1,FIND(" ",A1)-1)

Co więcej, spowoduje to wyświetlenie Johna (przy założeniu, że oryginalny tekst znajduje się w komórce A1 , a poprzednia formuła znajduje się w B1 ):

MID(A1,LEN(B1)+2,FIND(" ",A1,LEN(B1)))

Tutaj:

  • A1 - oryginalny tekst
  • LEN (B1) +2 - pozycja początkowa (długość kodu 0001 + separator + 1)
  • ZNAJDŹ („”, A1, LEN (B1)) - pozycja końcowa (tj. Wystąpienie następnego miejsca)

I możesz to rozwinąć dalej, aby uzyskać ostatnie 2 słowa :)

barti_ddu
źródło
Powyższe przykłady używają przecinków, gdy OpenOffice 4.1 wymaga znaków średnika. Na przykład LEWA (A1, ZNAJDŹ („”, A1) -1) musi być LEWA (A1; ZNAJDŹ („”; A1) -1)
Frank Cohen