2009-12-08 7 views
1

J'ai besoin d'une formule pour extraire les deux derniers mots d'une cellule en utilisant openoffice. Par exemple, une cellule contient les mots: "profiter du reste de votre journée" Je voudrais extraire "votre journée" en utilisant une formule. Je sais comment extraire le dernier mot:Extraire les deux derniers mots d'une cellule en utilisant openoffice

=RIGHT(A1;LEN(A1)-FIND("*";SUBSTITUTE(A1;" ";"*";LEN(A1)-LEN(SUBSTITUTE(A1;" ";""))))) 

qui se traduit par "jour". Mais j'ai besoin d'une formule pour les deux derniers mots.

+0

programmation non liée, Peut-être cela appartient à SuperUser. – Lazarus

+2

Bien que les formules de feuille de calcul OO soient un langage de programmation limité, il s'agit d'un langage de programmation OMI. – Piskvor

Répondre

1

SEARCH prend en charge les expressions régulières, donc utiliser

=RIGHT(A1, LEN(A1) - SEARCH("[^ ]+ +[^ ]+$", A1) + 1) 

Lorsque j'utilise des points-virgules comme ci-dessous, Calc se substitue en silence des virgules, mais l'OP rapports succès entrant dans cette façon:

=RIGHT(A1; LEN(A1) - SEARCH("[^ ]+ +[^ ]+$"; A1) + 1) 
+0

merci pour votre réponse, mais il m'a donné une erreur: #NAME? (Nom invalide), aidez s'il vous plaît – sami

+0

Quelle est la valeur '= SEARCH (" [^] + [^] + $ "," apple orange banana ")' vous donne? Avec la version 3.1.1, j'obtiens '7'. Est-ce que la valeur de 'A1' a plusieurs espaces comme séparateurs? –

+0

= SEARCH ("[^] + [^] + $", "apple orange banana") me donne la même erreur que j'avais auparavant. J'utilise openoffice 2.4. Et il n'y a pas d'espaces multiples comme séparateurs. – sami

Questions connexes