Obtention du numéro de ligne d'une cellule qui remplit un certain critère<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Existe-t-il une fonction qui renvoie le numéro de ligne de la (première) cellule d'une certaine colonne qui remplit un critère, par exemple commence par "XYZ" ou est supérieure à X. Cela me permettra d'obtenir les données d'une cellule pertinente dans une colonne différente, similaire à la fonction de la fonction RECHERCHEV dans Excel.
De préférence, je veux le faire dans l'éditeur de formule.
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critère(Il semble que a et b soient des variables de colonne, et je pense que comparer une colonne avec une valeur renverrait toujours false.) <
Edit : À la réflexion, cela devrait fonctionner correctement tant que le critère est vrai pour au moins une ligne dans chaque combinaison de catégories (je pensais d'abord à JSL, pas au contexte de formule de colonne où la "ligne actuelle" est supposée). Bonne solution!
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreJe pense que je l'ai résolu moi-même en utilisant votre suggestion originale :
a = :Par critère 1 ; b = :Par critère 2 ; :Colonne 1[Minimum(Tableau de données actuel() << obtenir les lignes où(:Colonne 2 == "X" & :Par critère 1 == a & :Par critère 2 == b))]
Voyez-vous une raison pour laquelle cela ne devrait pas fonctionner ?
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreCe qui précède fonctionne pour plusieurs cas dans la colonne Par (c'est-à-dire sans se limiter à "M" et "F" comme dans l'exemple). Mais cela ne fonctionnera pas pour plusieurs « Par-colonnes » sans trop compliquer les choses. Je suggère d'utiliser une nouvelle colonne qui combine les catégories de plusieurs colonnes (par exemple "âge-sexe").
Vous trouverez ci-dessous une version légèrement modifiée qui 1) permet de choisir la première ou la dernière ligne (remplacez Min par Max pour obtenir la dernière ligne) et 2) évite les erreurs si aucune ligne ne répond aux critères.
Si ( N rangée ( r = Tableau de données ( "Grande Classe.jmp" ) << obtenir des lignes où ( : hauteur == 60 ) ) > 0 ,
Si ( ( q = Min. ( Lieu ( : sexe [ r ] , : sexe ) )) > 0 ,
: nom [ r [ q ]]
)
)
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreMerci. Que se passe-t-il si j'ai plusieurs critères « Par » ? Et où puis-je préciser si je recherche la première ou la dernière ligne répondant aux critères ?
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreCela semble fonctionner :
r = Current Data Table() << obtenir les lignes où ( :height == 60 );
:name[r[Contient( :sexe, :sexe )]];
Il trouve le nom de la première personne de chaque sexe avec une taille = 60. Je ne sais pas si la table de données actuelle fonctionnera dans toutes les conditions (par exemple, interférence avec des scripts exécutés indépendamment)
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreExiste-t-il un moyen d'ajouter des critères "Par" à cette fonction. C'est par exemple que je veux trouver le numéro de ligne de la première cellule de la colonne 1 qui est égal à "X", mais je veux le faire séparément pour chaque valeur de la colonne 2 ?
Je peux le faire avec des fonctions If compliquées, mais ce serait bien si je pouvais le faire de la même manière que fonctionnent les fonctions statistiques préfixées par Col.
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreMerci. Je cherchais ça depuis longtemps !
Re : Obtenir le numéro de ligne d'une cellule qui remplit un certain critèreJ'utilise généralement Update and Join (ou jsl) pour un travail de type RECHERCHEV dans JMP.
Mais voici une façon de procéder avec une formule de colonne :
:hauteur[Minimum(
Table de données( "Big Class.jmp" ) << obtenir les lignes où ( :name == "ROBERT" )
)]
L'exemple est basé sur l'exemple de table de données Big Class.jmp. Il renvoie la hauteur du premier ROBERT dans la colonne de nom. Collez simplement le code dans l'éditeur de formule.
Notez cependant que le nom de la table doit être explicitement indiqué dans la formule pour que cela fonctionne. Et si des lignes sont ajoutées/supprimées ou si les valeurs des cellules changent, ce type de formules qui utilisent des commandes jsl introuvables dans l'éditeur de formule peut ne pas se mettre à jour automatiquement. Si tel est le cas, le bouton « Appliquer » dans l'éditeur de formule nécessite un autre clic.