Formule pour compter le nombre d'occurrence et intégrer un décompte de jour

Bonjour,

tout d'abord je tiens à m'excuser pour mon titre je n'arrive vraiment pas à formuler mon problème

J'ai fais ce tableau avec la collaboration de l'excellent @Steelson : https://forum.excel-pratique.com/sheets/formule-pour-compter-le-nombre-d-occurrence-cas-particulier-...

N'arrivant pas à expliquer mon problème en une phrase des exemples sont toujours plus parlant

Tableau 1 :

image

formule en J1

=IFERROR(query({query({arrayformula(INT(A2:A))\B2:B}; "select Col1, count(Col2), 0 where Col1<>0 group by Col1 label 0 '', count(Col2) '' "); query({arrayformula(INT(E2:E))\G2:G}; "select Col1, 0, count(Col2) where Col1<>0 group by Col1 label 0 '', count(Col2) '' ")}; "select Col1, sum(Col2), sum(Col3) where Col1 is not null group by Col1 label sum(Col2) 'Claim', sum(Col3) 'Close' ");"")

Cela me permet de créer en J/K/L un tableau pour savoir chaque jour combien de ticket on été "claim" et combien ont été "close"

Ce premier tableau (tableau 1) me permet d'alimenter un "dashboard" pour faciliter la lecture comme ci-dessous :

Tableau 2 :

image

Cependant mon problème est que si dans une journée je n'ai pas "claim" et "close" au moins un ticket cette journée "n'existe" pas

Exemple :

googlesheet

On peut voir sur l'image ci dessus que les jours 19/03/2022 et 20/03/2022 n'y sont pas, ce qui donc fausse mon graphe (Tableau2)

Voici le liens d'une copie de ce tableaux avec le graph:

https://docs.google.com/spreadsheets/d/1XdXIh2z-hmND2TFWXBVXVEnbkXDOE1_kplDwFzNclKI/edit?usp=sharing

Merci de m'avoir lu et d'avance pour votre aide

Bonjour,

juste une question avant de m'y pencher sérieusement ... s'il faut afficher tous les jours, faut-il aussi afficher les week-end ? c'est bien le cas du 19 et du 20, par contre le 18 n'apparait pas et je suppose que c'est lui qui pose problème

Oui effectivement je dois compter les we je réponds habituellement au service client le samedi et dimanche et de plus ce fichier est pour moi mais j'en ai un par modérateur du service client qui n'ont pas forcément leur we le samedi et dimanche

La formule de base est déjà bien complexe

=IFERROR(query(
{query({arrayformula(INT(A2:A))\B2:B}; "select Col1, count(Col2), 0 where Col1<>0 group by Col1 label 0 '', count(Col2) '' "); query({arrayformula(INT(E2:E))\G2:G}; "select Col1, 0, count(Col2) where Col1<>0 group by Col1 label 0 '', count(Col2) '' ")};
"select Col1, sum(Col2), sum(Col3) where Col1 is not null group by Col1 label sum(Col2) 'Claim', sum(Col3) 'Close' ");"")
  • soit tu t'appuies dessus (il y a J:L un peu perdu au milieu de cette formule)
={""\"claims"\"close";
sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1)\
arrayformula(iferror(vlookup(sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1);J:L;{2\3};0);0))
}

avec

sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1)

qui te donne toutes les dates entre les 2 extrêmes possibles

  • soit tu concatènes les formules, ce qui devient une anthologie
={""\"claims"\"close";
sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1)\
arrayformula(iferror(vlookup(sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1);
IFERROR(query(
{query({arrayformula(INT(A2:A))\B2:B}; "select Col1, count(Col2), 0 where Col1<>0 group by Col1 label 0 '', count(Col2) '' "); query({arrayformula(INT(E2:E))\G2:G}; "select Col1, 0, count(Col2) where Col1<>0 group by Col1 label 0 '', count(Col2) '' ")};
"select Col1, sum(Col2), sum(Col3) where Col1 is not null group by Col1 label sum(Col2) 'Claim', sum(Col3) 'Close' ");"");{2\3};0);0))
}
image

Merci beaucoup pour ton temps et tes réponses je regarde ça dès que je suis de retours sur mon pc

={""\"claims"\"close";
sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1)\
arrayformula(iferror(vlookup(sequence(int(MAX({A2:A;E2:E}))-int(min({A2:A;E2:E}))+1;1;int(min({A2:A;E2:E}));1);
IFERROR(query(
{query({arrayformula(INT(A2:A))\B2:B}; "select Col1, count(Col2), 0 where Col1<>0 group by Col1 label 0 '', count(Col2) '' "); query({arrayformula(INT(E2:E))\G2:G}; "select Col1, 0, count(Col2) where Col1<>0 group by Col1 label 0 '', count(Col2) '' ")};
"select Col1, sum(Col2), sum(Col3) where Col1 is not null group by Col1 label sum(Col2) 'Claim', sum(Col3) 'Close' ");"");{2\3};0);0))
}

fonctionne parfaitement, je suis en train de découper la fonction pour tester ce que ça fait, j'aime bien comprendre ce que je fais :)

Merci encore :)

Absolument, c'est la pratique de l'épluchage de l'oignon comme dirait Gilbert que je salue !

Rechercher des sujets similaires à "formule compter nombre occurrence integrer decompte jour"