> Tous les forums > Forum Bureautique
 Excel, comptage de cellules conditionnel
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
greenmonkey
  Posté le 28/03/2013 @ 21:08 
Aller en bas de la page 
Astucien

Bonsoir,

Je suis débutant avec une utilisation plus élaborée d'Excel et je coince sur une tâche qui m'a été demandée au boulot.

Au boulot je travaille sur Excel 2003 actuellement, au domicile j'ai une version 2007.

Au départ j'ai reçu un fichier avec plus de 900 entrées pour des points de vente de l'entreprise.

Le but est:
1) Pour chaque tranche horaire de 15' entre 08h00 et 19h00 de déterminer combien de points de vente sont ouverts.

2) Dans les résultats obtenus au point 1, effectuer un tri supplémentaire pour déterminer combien de points de vente répondent à une condition supplémentaire.

J'ai extrait du fichier initial, les données de 20 points de vente pour trouver les formules à appliquer. Ce sera plus clair si je poste ce fichier sur un site d'hébergement pour que vous compreniez mieux de quoi il s'agit. Si vous pouvez me dire sur quel site je dois envoyer le fichier.

Signalez-moi les infos supplémentaires qu'il vous faut pour m'aider à arriver au résultat recherché.

Encore un point qui peut être important, toutes les heures introduites dans la feuille 1, l'ont été au format général et pas au format horaire.

Merci d'avance.

Publicité
vieuxmonsieur
 Posté le 28/03/2013 à 21:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonsoir,

http://www.cjoint.com/

est fait pour cela



Modifié par vieuxmonsieur le 28/03/2013 21:11
greenmonkey
 Posté le 28/03/2013 à 21:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci.

Voici le lien: http://cjoint.com/?CCCvvWNKHf7

ferrand
 Posté le 29/03/2013 à 00:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Tes 4 premières lignes de calcul : http://cjoint.com/?CCDaeolv6wF

Etant donné qu'il apparaît dans ton tableau 3 plages horaires d'ouverture, j'en ai tenu compte.

Pour la 4e ligne, E paraissant lié à la 1re plage horaire, j'ai pris H et K pour les 2 autres plages horaires.

Si j'ai fait une erreur d'interprétation tu rectifieras les références dans les formules.

La formule de la 1re ligne se construit dans la première cellule de la ligne et se recopie sans retouche sur toute la ligne (on joue sur les références absolues ou relatives des cellules pour qu'il n'y ait pas à y revenir). Pour la 2e ligne, dans la 1re cellule on recopie la cellule de la ligne précédente : on la retouche pour y ajouter une matrice avec la valeur qui est recherchée pour le comptage (dans chaque fonction SOMMEPROD). Pour la 3e ligne, même chose, par rapport à la ligne précédente il n'y a que la valeur recherchée à modifier. Même chose pour la denière ligne, là il faut modifier les références de la dernière matrice ajoutée et la valeur cherchée.

Si tu vois bien le principe, tu pourras facilement opérer pour les autres jours. Ton système me paraît un peu lourd, ça va faire beaucoup de formules et de calculs au bout du compte... Pour les formules on peut essayer de simplifier en introduisant une ligne et une colonne masquées ensuite pour y insérer des paramètres permettant de réduire à une seule (ou 2 maxi) le nombre de formules à composer pour l'ensemble du tableau, et recopier ensuite. [Désolé, mais je n'ai pas le temps de m'y attaquer sous cet angle.]

Bonne soirée.

greenmonkey
 Posté le 29/03/2013 à 10:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Déjà un tout grand merci, ferrand, d'avoir consacré du temps à mon sujet.

J'examine cela dans le courant de la journée et je te reviens.

ferrand
 Posté le 30/03/2013 à 09:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

http://cjoint.com/?CCEiIo8MzxL

Petit exercice pour servir la totalité de ton tableau avec une seule formule :

=SOMME(SOMMEPROD(--(Jr1<=B$1);--(Jr2>B$1);--(Op12=Arg));SOMMEPROD(--(Jr4<=B$1);--(Jr5>B$1);--(Op45=Arg));SOMMEPROD(--(Jr6<=B$1);--(Jr7>B$1);--(Op67=Arg)))

La structure de la formule est la même que celle fournie précédemment : la somme des résultats fournis par 3 fonctions SOMMEPROD, comptant respectivement pour chacune des 3 plages d'ouverture, en faisant chacune la somme du produit de 3 plages de cellules testées par rapport à une valeur de façon à renvoyer des matrices composées de 1 ou 0.

Différence par rapport aux formules précédentes : toutes les plages sont représentées par des noms. Les 2 premiers noms utilisés dans chaque fonction SOMMEPROD représentent des plages listant des horaires d'ouverture et fermeture : Les noms vont renvoyer les plages correspondant à chaque jour de la semaine selon l'endroit où ils se trouvent dans le tableau. Le 3e nom va renvoyer une plage qui varie selon la ligne de chaque jour de la semaine où elle intervient : la plage Type pour les lignes 3 et 4, une plage --E-- variant aussi avec le jour de la semaine pour les lignes 5 à 9, enfin une plage neutre (ne modifiant pas le résultat produit par les 2 premières matrices) pour la ligne 2. La valeur-test pour le comptage réalisé par cette 3e plage est aussi représenté par un nom, lequel renverra une valeur différente selon la ligne où il se trouve : soit dans l'ordre pour les lignes 3 à 9, S, I, Y, A, R, C, N.

NB: Au-delà de Y, je ne suis pas sûr que ça corresponde ! (ce n'était pas demandé !!) Mais dans la mesure où il y avait autant de codes que de lignes, il était tentant d'en affecter un à chacune, j'espère donc que c'est le cas, et si c'est le cas que je les ai mis dans le bon ordre. Si ce n'est pas cela, il sera aisé de rectifier.

Pour parvenir à ce résultat, il fallait un peu apprêter la disposition :

- Dans le tableau résultat, supprimer une ligne intermédiaire parasite entre le lundi et le mardi, de façon que chaque jour (qui occupe 9 lignes) débute aux lignes 1, 11, 21, ...toutes les 10 lignes.

- Dans le tableau Houv rajouter quelques colonnes pour le samedi, à l'instar des autres jours de la semaine, qui n'ont sans doute pas de raison d'être dans les faits, mais dont l'absence aurait entraîné un renvoi d'erreur par la formule pour le samedi. Une dernière colonne a été rajoutée (que j'ai bêtement appelée Fin) pour pouvoir renvoyer la fameuse plage neutre indiquée plus haut. Ces colonnes doivent être laissées vides, seules leur existence est nécessaire.

- Une nouvelle feuille pour y placer 2 tableaux de paramètres (dans lesquels sont calculés les références des différentes plages utilisées).

Si une seule formule apparaît à la fin dans le tableau de résultats, une bonne partie des calculs se déroulent dans la coulisse, utilisant également d'autres noms qui n'apparaissent pas. La construction de cet ensemble réclame certainement des explications supplémentaires (que je n'ai pas le temps de consigner maintenant) qui ne figurent pas dans le classeur.

J'y reviendrai ! Mais je ne voulais pas manquer la possibilité de t'offrir un week-end studieux !!

Cordialement.

greenmonkey
 Posté le 30/03/2013 à 11:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ça m'a l'air superbe.

Pas eu l'occasion de regarder hier.

Encore un tout grand merci et un excellent week-end.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
recherche d'un formaule EXCEL (comptage cellules )
VBA Excel valeur en fonction de cellules
Relier des choix à des cellules dans excel
EXCEL 2007 : les textes des cellules sont surlignés
Copier-coller cellules Excel, en évitant les triangles verts
Excel - Copie de cellules selon choix
(Excel) Comment enregistrer sous avec nom de 2 cellules
Office Etudiant 2013 Excel, problème avec mes cellules
numerotation des cellules d'un tableau Excel
[Excel 2013] Fusion personnalisée de cellules
Plus de sujets relatifs à Excel, comptage de cellules conditionnel
 > Tous les forums > Forum Bureautique