Recherche et comptage multicritères complexe

Bonjour,

J'ai besoin de votre aide pour réaliser un comptage complexe.

Le problème réside à dire si une valeur est égale à 1 ou 0,5 suivant une condition.

ex :

Sem Date type

12 08-mars

13 10-mars B

13 10-mars T

14 11-mars T

14 12-mars B

14 13-mars T

14 13-mars T

14 14-mars B

J'ai besoin de compter pour une semaine combien il y a de jours différents et ça marche bien avec : {=NB(1/FREQUENCE(SI(sema=D45;valeur);SI(sema=D45;valeur)))} , ici SEM12=1, SEM13=1, SEM14=4

Dans un second temps je voudrai compter les types par date en tenant compte de la semaine (ouille !!!!!)

Un sommeprod pourrait m'aider mais j'ai une règle qui complique les choses :

Si on constate un B seul pour une date, il est égale à 1

Si on constate un B avec un T pour une date, il est égale à 0,5.

Sur cet exemple ça donne :

SEM13 = 0,5 B

SEM14 = 2 B

Il y a une combinaison de formule à trouver mais je sèche un peu pour le moment, donc si vous pouviez m'aider ce serait génial.

Merci d'avance.

Vincent.

Bonjour

Afin d'éviter d'avoir à refaire un fichier, peux-tu envoyer le tien s'il te plait.

Pour cela, regarde joindre un fichier, en haut de cette page

Cordialement

Ci-joint le fichier d'exemple et un premier essai mais en ajoutant une colonne masquée par forcément désirée.

FICHIER

Merci à hoerwind (XLDnaute) pour la première solution.

Bonsoir

Peux-tu mieux expliquer le B et T sur le même jour, car j'arrive au résultat attendu sans tenir compte des T, ce qui est sans doute dû au hasard des lettres saisies dans l'exemple.

Fichier

Amicalement

Nad

en fait, l'idée c'est de dire :

une personne est en tournée (T) pendant une partie de la journée et au bureau (B) une autre partie.

Le temps passé au bureau est ramené à 0,5jour.

A l'invers, si la personne n'a pas tournée et a passé la journée au bureau, B=1.

C'est une règle qui s'applique dans presque tout les cas et je ne vais pas compter des quart de journée.

Bonjour

Donc, la façon de saisir est :

Soit une ligne par jour : dans ce cas le type est T ou B (T valant 0 et B valant 1)

Soit deux lignes par jour et on a sur l'une T et sur l'autre B - valeur de ce jour = 0.5

La formule en place dans le fichier calcule dans ce sens.

Je te renvois le fichier dans lequel j'ai ajouté des données pour test - La colonne D est à supprimer (c'était juste pour vérifier manuellement)

Les noms des plages sont dynamiques

Fichier

Amicalement

Nad

Merci pour cette solution.

Cela me semble parfaitement fonctionnel.

Je vais analyser pour comprendre le raisonnement et ne pas betement copier/coller.

Merci pour ton aide.

Bonjour,

Je remonte ma question car finalement la solution généreusement proposée par Nad comporte ne fonctionne pas comme je voudrais.

Si pour un jour donné d'une semaine donnée, la personne a fait de nombreuses visites et du bureau il y a un souci.

le résultat voulu serait que la journée de bureau soit comptabiliser comme 0,5 mais avec cette formulle, elle est divisée par le nombre de visite+bureau d'ou chiffre à virgule.

Autant regarder le fichier joint pour comprendre le probleme.

Merci d'avance si vous pouvez m'aider.

Vincent.

Bonsoir

Une autre façon de faire en utilisant la colonne D pour les calculs par jours et en changeant toutes les formules.

Cordialement

screen

Merci pour ta réponse.

J'avais également envisagé l'ajout d'une colonne masquée, mais ce n'est pas vraiment pratique pour mon application.

Si je peux l'éviter ce serait préférable, il faut donc que je trouve une formule qui fait tout d'un coup.

Quelqu'un d'autre aurait une idée SVP ?

Merci d'avance.

Vincent.

Je précise que sur mon fichier, la colonne D ne sert que pour montrer la valeur qu'on devrait trouver mais ne sert pas dans les calculs.

-- Mar Déc 08, 2009 6:41 pm --

Re,

je me permet de remonter ma question avec de nouvelles infos.

Voir le fichier joint qui explique le probleme et à qu'elle étape j'en suis pour le résoudre.

Merci d'avance pour votre aide.

Vincent.

code vba lettrage
30vincentv1.zip (7.60 Ko)

Merci pour votre aide.

C'est résolu grace à Jocelyn XLDnaute.

=SOMMEPROD((SEM1=G16)*(TYPE1="B")*(COM1="MA")*1)-SOMMEPROD(((SEM1=G16)*(TYPE1="B")*(COM1="MA"))*(((DECALER(SEM1;1;;;)=G16)*(DECALER(TYPE1;1;;;)<>"B")*(DATE1=DECALER(DATE1;1;;;))*(DECALER(COM1;1;;;)="MA"))+((DECALER(SEM1;-1;;;)=G16)*(DECALER(TYPE1;-1;;;)<>"B")*(DATE1=DECALER(DATE1;-1;;;))*((DECALER(COM1;-1;;;)="MA")))*0,5))

Salutations.

Vincent.

Rechercher des sujets similaires à "recherche comptage multicriteres complexe"