Comment calculer les différences en pourcentage entre les lignes référencées à une cellule dans une autre colonneBonjour à tous,
J'ai le tableau suivant.Pour chaque sujet, je voudrais calculer le % de différence des valeurs d1, d2, d3 et d4 dans la colonne Valeur par rapport à la valeur de l'écran.La formule est ((d1-screen)/screen)*100, répétée pour les valeurs d2 à d4 pour le sujet 1. Ensuite, lorsque le numéro du sujet change, la valeur d'écran pour le sujet 2 est référencée pour le calcul en utilisant les valeurs d1 à d4 du sujet 2. valeurs, etcJe suis sûr qu'il existe un moyen de le faire, mais je n'ai pas réussi à en identifier un.
Merci d'avance
Floyd Fox

Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonne<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Oui, Écran la position de la rangée peut être manipulée. Mais si Écran est forcément d'avoir toujours la valeur maximale au sein d'un sujet, cette formule fonctionne aussi :
: Valeur / Colonel Max ( : Valeur , : Sujet ) - 1
Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonneSi j'interprète correctement votre demande d'expansion, votre tableau de données ressemblerait désormais à ceci ?

En utilisant la méthode que j'avais initialement proposée, le script subirait quelques modifications mineures :
Noms par défaut ici ( 1 ) ;
dt = Tableau de données actuel () ;
// Crée une table de données avec uniquement les valeurs d'écran
dt << sélectionner où ( : jour == "écran" ) ;
écran dt = dt << sous-ensemble ( lignes sélectionnées ( 1 ) , colonnes sélectionnées ( 0 ) ) ;
écran dt << supprimer des colonnes ( "jour" ) ;
écran dt : Valeur << définir le nom ( "Valeur d'écran" ) ;
écran dt : Valeur 2 << définir le nom ( "Valeur d'écran 2" ) ;
// Recombine les données ensemble
dt << Mise à jour ( Avec ( écran dt ) , Faire correspondre les colonnes ( : sujet = : sujet ) ) ;
Fermer ( écran dt , nosave ) ;
// Effectuer le calcul final
dt << Nouvelle colonne ( "% de différence par rapport à l'écran" , formule (( : Valeur - : valeur d'écran ) / : Valeur d'écran ) , Format ( "Pour cent" , 7 , 2 )) ;
dt << Nouvelle colonne ( "% de différence par rapport à l'écran 2" , formule (( : Valeur 2 - : valeur d'écran 2 ) / : Valeur d'écran 2 ) , Format ( "Pour cent" , 7 , 2 )) ;
Cela vous donnerait un tableau final ressemblant à :

Il y a un avantage à utiliser la méthodologie proposée par MS, dans la mesure où elle peut être réalisée simplement en spécifiant une formule pour la nouvelle colonne.Cependant, cela repose sur la détermination de la Screen row position , ce qui peut ne pas être une hypothèse valable lorsque vous l'utilisez avec des données réelles.
Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonneMS,
Merci beaucoup.J'ai posé une question à Jim et je vous poserais la même chose.
Si j'ai deux (ou plus) colonnes de valeurs représentant différents ensembles d'observations sur l'écran d1, d2, etc., quelles modifications devrais-je apporter afin de calculer la différence pour chaque colonne de valeurs.Merci
Floyd
Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonneJim,
Merci beaucoup c'est très utile.Si j'ai deux (ou plus) colonnes de valeurs représentant différents ensembles d'observations sur l'écran d1, d2, etc., quelles modifications devrais-je apporter afin de calculer la différence pour chaque colonne de valeurs.Merci
Floyd
Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonneVoici deux autres façons de le faire. Les deux utilisent la fonction Col Min() pour trouver la première ligne de chaque sujet, et cela dépend donc du tri en cours (la solution de Jim a l'avantage d'être indépendante du tri).
dt = Tableau de données actuel () ;
// Définir des valeurs statiques
col1 = dt << Nouvelle colonne ( "Valeur d'écran" , numérique ) ;
col2 = dt << Nouvelle colonne ( "% de différence par rapport à l'écran" , numérique , Format ( pour cent , 1 )) ;
Pour chaque ligne (
col1 [] = : Valeur [ Colonel Min ( Rangée () , : Sujet )] ;
col2 [] = ( : Valeur - col1 []) / col1 [] ;
) ;
// Formule de colonne, le tout en une seule étape.
dt << Nouvelle colonne ( "% de différence par rapport à l'écran" ,
Format ( pour cent , 1 ) ,
formule (( : Valeur - : Valeur [ Colonel Min ( Rangée () , : Sujet )]) / : Valeur [ Colonel Min ( Rangée () , : Sujet )])
) ;
Re : Comment scripter les différences en % entre les lignes référencées dans une cellule d'une autre colonneVoici un script simple qui fait ce que vous voulez :
Noms par défaut ici ( 1 ) ;
dt = Tableau de données actuel () ;
// Crée une table de données avec uniquement les valeurs d'écran
dt << sélectionner où ( : jour == "écran" ) ;
écran dt = dt << sous-ensemble ( lignes sélectionnées ( 1 ) , colonnes sélectionnées ( 0 ) ) ;
écran dt << supprimer des colonnes ( "jour" ) ;
écran dt : Valeur << définir le nom ( "Valeur d'écran" ) ;
// Recombine les données ensemble
dt << Mise à jour ( Avec ( écran dt ) , Faire correspondre les colonnes ( : sujet = : sujet ) ) ;
Fermer ( écran dt , nosave ) ;
// Effectuer le calcul final
dt << Nouvelle colonne ( "% de différence par rapport à l'écran" , formule ( ( : Valeur - : valeur d'écran ) / : Valeur d'écran ) , Format ( "Pour cent" , 7 , 2 ) ) ;