Excel comprendre une fonction imbriquée.
Résolu/Fermé
Alain 06
Messages postés
67
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 octobre 2022
-
11 oct. 2018 à 17:06
Alain 06 Messages postés 67 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 16 octobre 2022 - 12 oct. 2018 à 20:15
Alain 06 Messages postés 67 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 16 octobre 2022 - 12 oct. 2018 à 20:15
A voir également:
- Excel comprendre une fonction imbriquée.
- Excel fonction si et - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Liste imbriquée excel - Guide
4 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
12 oct. 2018 à 04:26
12 oct. 2018 à 04:26
Bonjour,
Pourquoi 35? c'est la position qu'occupe le premier caractère du code postal dans l'adresse complète.
Comment fonctionne la formule? Pour bien la comprendre, il faut la décortiquer.
1)- SUBSTITUE(A3;" ";"|"), remplace tous les "espaces" par des "|", ceci à son importance pour la suite.
2)-STXT(SUBSTITUE(A4;" ";"|");LIGNE($1:$99);5) extrait les 5 caractères, à partir d'un numéro de départ donné, ici , ce N° de départ est remplacé par LIGNE($1:$99), Cela veut dire que SOMMEPROD va tester un groupe de 5 caractères en décalant le premier caractère de l'adresse complète en remplacement le N° de départ par 1 puis 2 puis 3 jusqu'à 99.
Pour bien comprendre le raisonnement, écrivez la formule suivante
=STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5),
et remplacez successivement la fonction LIGNE($1:$99) par 1, puis 2 puis 3 etc et observez.
3)- ESTNUM(STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5)*1), le résultat précédent étant du texte(Stxt), on le multiplie par 1 pour le convertir en numérique. Si le résultat obtenu après multiplication est toujours du texte , alors la fonction ESTNUM renvoie "FAUX" sinon "VRAI".
4)- =SOMMEPROD(ESTNUM(STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5)*1)*LIGNE($1:$99)) , SOMMEPROD va faire un balayage de 1 à 99 caractères et si ESTNUM renvoie "VRAI", c'est qu'il à trouvé une partie du texte qui est entièrement numérique, il s'agit donc du code postal. Sommeprod renvoie la position du premier caractère du code postal, dans le cas présent , il est en 35ème position.
Voilà, j'espère avoir pu vous aider.
Cdlt
Pourquoi 35? c'est la position qu'occupe le premier caractère du code postal dans l'adresse complète.
Comment fonctionne la formule? Pour bien la comprendre, il faut la décortiquer.
1)- SUBSTITUE(A3;" ";"|"), remplace tous les "espaces" par des "|", ceci à son importance pour la suite.
2)-STXT(SUBSTITUE(A4;" ";"|");LIGNE($1:$99);5) extrait les 5 caractères, à partir d'un numéro de départ donné, ici , ce N° de départ est remplacé par LIGNE($1:$99), Cela veut dire que SOMMEPROD va tester un groupe de 5 caractères en décalant le premier caractère de l'adresse complète en remplacement le N° de départ par 1 puis 2 puis 3 jusqu'à 99.
Pour bien comprendre le raisonnement, écrivez la formule suivante
=STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5),
et remplacez successivement la fonction LIGNE($1:$99) par 1, puis 2 puis 3 etc et observez.
3)- ESTNUM(STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5)*1), le résultat précédent étant du texte(Stxt), on le multiplie par 1 pour le convertir en numérique. Si le résultat obtenu après multiplication est toujours du texte , alors la fonction ESTNUM renvoie "FAUX" sinon "VRAI".
4)- =SOMMEPROD(ESTNUM(STXT(SUBSTITUE(A3;" ";"|");LIGNE($1:$99);5)*1)*LIGNE($1:$99)) , SOMMEPROD va faire un balayage de 1 à 99 caractères et si ESTNUM renvoie "VRAI", c'est qu'il à trouvé une partie du texte qui est entièrement numérique, il s'agit donc du code postal. Sommeprod renvoie la position du premier caractère du code postal, dans le cas présent , il est en 35ème position.
Voilà, j'espère avoir pu vous aider.
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
12 oct. 2018 à 18:52
12 oct. 2018 à 18:52
Bonsoir,
SUBSTITUE(A3;" ";"|"),quelle est l'importance de cette barre verticale à la place des espaces, il pourrait tout aussi bien y avoir un autre signe, non, et pourquoi remplacer les espaces le comptage est plus facile?
Mettre un autre signe autre qu'une barre verticale, OUI à condition que ce soit un signe jamais utilisé dans une adresse, par exemple: £, µ, §,....
Pourquoi remplacer les espaces: tout simplement parce que ce que vous voyez et croyez être un espace(code 32) n'en n'est pas forcément un, surtout si l'adresse est récupérée sur une autre application, l'espace est souvent un caractère insécable (code160)
Pour comprendre, dans une cellule écrivez:
=REPT(CAR(32);10)&"A" en A1
en dessous, écrivez:
=REPT(CAR(160);10)&"A" en A2
en apparence les 2 cellules sont identiques
A côté des 2 cellules précédentes écrivez ceci
=SUPPRESPACE(A1) en B1
=SUPPRESPACE(A2) en B2
Voyez-vous mieux la différence? Voilà pourquoi il est nécessaire de remplacer les espaces.
Voilà
Cdlt
SUBSTITUE(A3;" ";"|"),quelle est l'importance de cette barre verticale à la place des espaces, il pourrait tout aussi bien y avoir un autre signe, non, et pourquoi remplacer les espaces le comptage est plus facile?
Mettre un autre signe autre qu'une barre verticale, OUI à condition que ce soit un signe jamais utilisé dans une adresse, par exemple: £, µ, §,....
Pourquoi remplacer les espaces: tout simplement parce que ce que vous voyez et croyez être un espace(code 32) n'en n'est pas forcément un, surtout si l'adresse est récupérée sur une autre application, l'espace est souvent un caractère insécable (code160)
Pour comprendre, dans une cellule écrivez:
=REPT(CAR(32);10)&"A" en A1
en dessous, écrivez:
=REPT(CAR(160);10)&"A" en A2
en apparence les 2 cellules sont identiques
A côté des 2 cellules précédentes écrivez ceci
=SUPPRESPACE(A1) en B1
=SUPPRESPACE(A2) en B2
Voyez-vous mieux la différence? Voilà pourquoi il est nécessaire de remplacer les espaces.
Voilà
Cdlt
Alain 06
Messages postés
67
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 octobre 2022
3
12 oct. 2018 à 08:32
12 oct. 2018 à 08:32
Bonjour voisin.
Un grand merci pour votre réponse, mon blocage venait de la fonction ligne et de la recherche de 5 caractères successifs, car sur quelques lignes figure le N° de la voie.
SUBSTITUE(A3;" ";"|"), quelle est l'importance de cette barre verticale à la place des espaces, il pourrait tout aussi bien y avoir un autre signe, non, et pourquoi remplacer les espaces le comptage est plus facile?
Je remarque qu'il me reste beaucoup de chemin à faire pour comprendre Excel.
Encore un grand MERCI.
Cordialement.
Un grand merci pour votre réponse, mon blocage venait de la fonction ligne et de la recherche de 5 caractères successifs, car sur quelques lignes figure le N° de la voie.
SUBSTITUE(A3;" ";"|"), quelle est l'importance de cette barre verticale à la place des espaces, il pourrait tout aussi bien y avoir un autre signe, non, et pourquoi remplacer les espaces le comptage est plus facile?
Je remarque qu'il me reste beaucoup de chemin à faire pour comprendre Excel.
Encore un grand MERCI.
Cordialement.
Alain 06
Messages postés
67
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 octobre 2022
3
12 oct. 2018 à 20:15
12 oct. 2018 à 20:15
Bonsoir et encore un très grand MERCI pour votre réponse et du temps que vous m'avez consacré.
Cordialement.
Cordialement.