Excel: fréquence de distribution

G34

Membre actif
26 Décembre 2004
202
13
CH
Bonsoir, dans un tableau Excel (v.X), je souhaiterais savoir si une valeur est comprise entre deux autres valeurs; j'ai donc placé dans une cellule "=SI(3.1<=A5<=3.2;1;0)" en espérant que si la valeur tapée dans la cellule A5 est comprise entre 3.1 et 3.2, le nombre 1 apparaisse (ou 0 si ce n'est pas le cas). Mais ça ne marche pas. Quelqu'un pourrait-il m'aider? Merci de vos éventuelles réponses.

Ajout
Eurêka! Il faut utiliser ce genre de formule (double condition): "=SI(A5>=3.1;SI(A5<3.2;1;0);0)". :up:
 
Bonsoir, dans un tableau Excel (v.X), je souhaiterais savoir si une valeur est comprise entre deux autres valeurs; j'ai donc placé dans une cellule "=SI(3.1<=A5<=3.2;1;0)" en espérant que si la valeur tapée dans la cellule A5 est comprise entre 3.1 et 3.2, le nombre 1 apparaisse (ou 0 si ce n'est pas le cas). Mais ça ne marche pas. Quelqu'un pourrait-il m'aider? Merci de vos éventuelles réponses.

Ajout
Eurêka! Il faut utiliser ce genre de formule (double condition): "=SI(A5>=3.1;SI(A5<3.2;1;0);0)". :up:

Il me semble que j'écrirai :
"=SI(ET((3,1<=A5);(A5<=3,2));1;0)"

edit : Le temps que je vérifie ma formule, tu en a proposé une autre.
 
J'ajouterais plutot la fonction AND(), comme le souligne hippo sulfite. Il y a aussi le formatage conditionnel qui est possible, c'est plus visuel.
 
Ne serait pas plus propre avec un vlookup ?

Je ne vois pas en quoi RechercheV() (Vlookup in english) peut apporter une solution à ce problème ? C'est une fonction de recherche par valeur, pas de comparaison ! :mouais:
 
Recherchev() n'est pas adaptée à ce problème. Au mieux cette fonction renverra 0 ou 1 là ou Si se débrouille bien pour le faire.

erreur
Bon, je retourne me coucher ;)


PS : faut-il être bète des fois !

=FREQUENCE(zone;C10:C11)

où zone contient les valeurs à dénombrer c10 la première borne, c11 la seconde borne.

NB : les bornes sont inclues dans le décompte.
 
Très juste. Le fonction "FREQUENCE" est évidemment la mieux adaptée lorsqu'on cherche à déterminer des fréquences par intervalles comme peut le laisser penser le titre.

Si on se fie par contre à l'exposé de la question dans le premier message de G34, c'est la réponse proposée par hippo sulfite qui est la mieux adaptée (ou pourrait d'ailleurs l'écrire =SI((3,1<=A5)*(A5<=3,2);1;0) également, mais c'est juste pour dire ;)).

Le recours à des "SI()" emboîtés n'est pas une solution aussi "économique" en terme de ressources et alourdirait une feuille si cette formule devait être recopiée de nombreuses fois. Pour ce qui est de "RECHERCHEV()", on pourrait évidemment torturer un peu le tout pour obtenir la réponse avec, mais c'est vraiment chercher la complication (et alourdir la feuille) inutilement.
 
Très juste. Le fonction "FREQUENCE" est évidemment la mieux adaptée lorsqu'on cherche à déterminer des fréquences par intervalles comme peut le laisser penser le titre.

Si on se fie par contre à l'exposé de la question dans le premier message de G34, c'est la réponse proposée par hippo sulfite qui est la mieux adaptée (ou pourrait d'ailleurs l'écrire =SI((3,1<=A5)*(A5<=3,2);1;0) également, mais c'est juste pour dire ;)).

Le recours à des "SI()" emboîtés n'est pas une solution aussi "économique" en terme de ressources et alourdirait une feuille si cette formule devait être recopiée de nombreuses fois. Pour ce qui est de "RECHERCHEV()", on pourrait évidemment torturer un peu le tout pour obtenir la réponse avec, mais c'est vraiment chercher la complication (et alourdir la feuille) inutilement.

Celà dit, la meilleure formulation (en temps de calcul) serait la suivante :

=(3,1<=A5)*(A5<=3,2), qui renvoie "False" ou "True" (peut être "Faux" ou "Vrai" dans la version française, je ne me souviens plus s'ils ont localisé ça) si la cellule est en format "standard", ou bien 0 ou 1 si elle est au format "nombre" (à noter qu'en logique formelle, Excel aurait faux, puisque faux multiplié par faux égal vrai, alors que pour lui, faux multiplié par faux égal faux :D).

On oublie toujours que dans Excel, les formules peuvent contenir des opérations et/ou des fonctions, mais que les opérations sont bien plus rapidement exécutées que les fonctions correspondantes.

Pour mémoire les douze opérateurs implémentés dans Excel sont les suivants :

Les 5 opérateurs arithmétiques :
+ : Addition
- : soustraction
* : multiplication
/ : division
^: exponentiation

Les six opérateurs logiques :
= : égalité
<> : différence
< : inférieur
> : supérieur
<= : inférieur ou égal
>= : supérieur ou égal

L'opérateur textuel :

& : concaténation

Faites le test, en comparant une fonction avec l'opération équivalente sur quinze ou vingt mille cellules, et voyez la différence en temps de recalcul de la feuille :siffle:
 
Celà dit, la meilleure formulation (en temps de calcul) serait la suivante :
=(3,1<=A5)*(A5<=3,2), qui renvoie "False" ou "True" (peut être "Faux" ou "Vrai" dans la version française, je ne me souviens plus s'ils ont localisé ça) si la cellule est en format "standard", ou bien 0 ou 1 si elle est au format "nombre"
Bien vu !! :zen: :zen: :zen:
(à noter qu'en logique formelle, Excel aurait faux, puisque faux multiplié par faux égal vrai, alors que pour lui, faux multiplié par faux égal faux :D).
Très vrai (si on ose dire) mais, dans le cas présent, il n'est pas facile d'avoir une situation avec FAUX * FAUX :D
 
Un grand merci à tous pour vos remarques judicieuses et vos conseils avisés. (je vais passer par la fonction FREQUENCE)