J'ai une ligne avec des pays séparés par D'autre part, j'ai une autre cellule avec des organisations, également séparées avec Maintenant, je dois trouver la position d'un pays (par exemple Ce que j'ai identifié est la position en utilisant la formule Tous les commentaires seraient appréciés. p> ; code>. Ceci est un exemple situé dans une cellule: ro; être; au titre; cn; de; britannique; es; hu; nl; SE; à; el; cz code>. p>
; code>: E.g org1; Org2; Org3 ... code> et il a la même position que les pays. p>
de code>) et extraire l'organisation dans la même position dans l'autre cellule. P>
trouver code>. Maintenant, j'ai besoin d'extraire l'organisation séparée par des virgules, mais je ne sais pas comment le faire. J'ai essayé gauche code>, droite code> fonctionner ... aussi indirect code>. p>
5 Réponses :
Utilisation A B
1 COUNTRIES A;B;C;D;E
2 ORG Org1;Org2;Org3;Org4;Org5
3 Search CODE B
4 Result Org2 (=INDEX(SPLIT(B2, ";"), MATCH(B3, SPLIT(B1, ";"))))
Avez-vous testé la fonction divisée code>? J'ai testé la formule et ça ne marche pas.
Oui, j'ai testé et fonctionne bien, capture d'écran pour votre référence ibb.co/mb5z4rt
Cela ne fonctionne pas dans Excel. Je soupçonne que vous travaillez avec Google Feuilles.
Oui, je travaille avec Google Feuilles, pouvez-vous expliquer quelle erreur vous obtenez avec Excel alors?
Excel n'accepte pas la fonction qu'il met en évidence le mot divisé code> et renvoie le message cette fonction n'est pas valide code>.
Ok merci, ça marche avec Google Feuilles et j'utilise Excel très moins
@RameShn Veuillez noter que Google Feuilles et Excel sont 2 programmes complètement différents avec une syntaxe différente. Il pourrait y avoir des similitudes mais à la fin, ils sont complètement indépendants et différents.
Si vous avez Excel 2013 ou plus, vous pouvez utiliser une approche FilterXML comme indiqué par @JVDV. Pour toutes les versions que vous pouvez utiliser: p>
où p>
La cellule B2 contient ro; être; au titre de; cn; de; UK; es; hu; nl; se; à; el; cz
La cellule B3 détient org1; Org2; Org3 ..
Cell B4 tient la clé que vous recherchez par ex. Ro. P>
On suppose que toutes les entrées de la liste des sources sont uniques et que 10 entrées sont divisées. Si vous avez plus, vous devez modifier = recherche (2,1 / (garniture (moyenne (substitut (substitut (";" & b2 ";", report ("", 99)), rangée ($ 1: 10 $) * 99 * 99 , 99)) = B4), garniture (moyenne (substitut (substitut (";" & b3, ";", report ("", 99)), rangée ($ 1: 10 $) * 99,99))) < / code> p>
rangée ($ 1: $ 1: 10 $) code> à des entrées maximales adaptées à votre cas comme 1 $: 99 $) code > etc. p>
Merci beaucoup Shrivallabha.redij !!
Parce que vous avez marqué la question avec VBA, vous pouvez utiliser un UDF pour obtenir la valeur.
Ce UDF a eu trois arguments: p>
@Peh je ne peux pas formater la partie de code comme je le fais dans les dernières années. Qu'est-ce que je fais mal?
juste pour le plaisir de cela.
Il peut être fait avec la formule Excel de base aussi longtemps que vous ne voulez vraiment jamais regarder la formule et ne vous souciez pas de la performance. P>
et voici toutes les formules utilisées P>
=FIND(";" & B4 &";";";" & B2 & ";")
=LEFT(B2;C6)
=LEN(C7)-LEN(SUBSTITUTE(C7;";";""))
=SUBSTITUTE(B3;";";"|";C8)
=FIND("|";C9)
=FIND(";";B3&";";C10+1)
=MID(C9;C10+1;C11-C10-1)
=MID(B3;FIND("|";SUBSTITUTE(B3;";";"|";LEN(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";")))-LEN(SUBSTITUTE(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";"));";";""))))+1;FIND(";";B3&";";FIND("|";SUBSTITUTE(B3;";";"|";LEN(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";")))-LEN(SUBSTITUTE(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";"));";";""))))+1)-FIND("|";SUBSTITUTE(B3;";";"|";LEN(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";")))-LEN(SUBSTITUTE(LEFT(B2; FIND(";" & B4 &";";";" & B2 & ";"));";";""))))-1)
Si vous avez l'option, divisez les données au format multicellulaire, puis utilisez une fonction comme
vlookup code> ouindex code> &correspondant code>.S'il vous plaît poster vos efforts à ce jour.
Avec la première liste dans
A1 code> et 2nd ina2 code>, essayez quelque chose comme:= index (filtrexml (" " & substitut (A2, "; "," s>") &" s> t> "", "// s"), trouver ("D", A1) -Len (Substitut e ( À gauche (A1, trouve ("de", A1)), ";" "," ")) code>. Si vous n'avez pas accès àfiltrexml code>, vous pouvez trouver une autre option utile pour extraire le nième mot ici