Salut,
J'ai la tâche suivante à faire.
Disons que j'ai 3 colonnes : A,B,C
Chaque cellule de la colonne A est au format suivant : 29 ; 30 ; 28 ; 27 ; 30 ; ...
Donc juste des nombres aléatoires séparés par ;
Chaque cellule de la colonne B est au format suivant : 4;5;1;3;6 ; ...
Ce sont donc des nombres compris entre 1 et 25 (sans répétition) dans un ordre aléatoire, séparés par ;
La colonne C est un nombre unique compris entre 1 et 25, par exemple 3.
Pour une ligne donnée, les colonnes A et B ont le même nombre de termes entre les « ; » (il n'est pas nécessaire que ce soit le même dans les différentes lignes).
Et maintenant à la tâche : je souhaite créer une nouvelle colonne D, qui contient la valeur du Col A trouvée à l'emplacement du Col C dans le Col B.
Par exemple, si
Col A = 29;30;28;27;30
Col B = 4;5;1;3;6
Col C = 3
Alors Col D = 27
Parce que 3 se trouve au 4ème emplacement du Col B (après le 3ème
, et au même endroit dans le Col A, vous pouvez en trouver 27.
J'espère que je l'ai expliqué clairement, j'apprécierais toute aide. Veuillez voir le fichier joint par exemple (j'ai calculé le Col D manuellement pour l'exemple).
Merci
Devrait être assez simple en utilisant Mots() et Contient() .
Num(Words(:A, ";")[Contains(Words(:B, ";"), Char(:C))]);

Voir l'index de script pour plus d'exemples sur ces fonctions
Voici une façon de le faire

theList = Words( :B, ";" );
location = Contains( theList, Char( :C ) );
Show( theList, location );
Try( Num( Word( location, :A, ";" ) ), . );