Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche multicritère avec NB.SI

6 réponses
Avatar
Thierry
Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">=01/11/2006")-NB.SI(Détails!$A$2:$A$24070;"<=30/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry

6 réponses

Avatar
Trirème
Bonjour Thierry,
Je te propose une solution avec SOMMEPROD()
(Explique pourquoi tu ne veux pas de TCD, idéal ici) (c'est si simple)

Si j'ai bien compris, le résultat final sera un tableau de 96 lignes maxi (8
références x 12 mois dans l'année), organisé comme suit :
En colonne A les références, en colonne B les dates
Tes données sources auront la plage des dates nommée 'Date' et la plage des
références nommée 'Réf'.
En colonne C de ton tableau résultat, copier en C1 et tirer vers le bas :
=SOMMEPROD((Réf¡)*(ANNEE(Dates)=ANNEE(B1)*(MOIS(Dates)=MOIS(B1))))

Cordialement, Trirème


Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2006")-NB.SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry


Avatar
Ellimac
Bonjour,

=Sommeprod((mois(Détails!$A$2:$A$24070)*annee(Détails!$A$2:$A$24070 06)*(Détails!$B$2:$B$24070="Ref1"))

Tu peux bien sûr remplacer 2006, 11 et Ref1 par des cellules

Camille


Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2006")-NB.SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry


Avatar
isabelle
bonjour Thierry,

=SOMMEPROD((ET(ANNEE(A1:A7 06);MOIS(A1:A7=2))*(B1:B7="Ref1")))
matriciel à valider avec ctrl+maj+enter

isabelle

Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2006")-NB.SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !



Avatar
JB
Bonjour,

Crée le tableau:

http://cjoint.com/?lxskiwEljV

Sub Essai()
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & _
ThisWorkbook.Path & "" & ThisWorkbook.Name
Sql = "SELECT month(dates) as mois,ref,count(ref) as Nbr From BD
Group BY month(dates),ref"
Set rs = cnn.Execute(Sql)
ligne = 2
Do While Not rs.EOF
Cells(ligne, "E") = DateSerial(2006, rs("mois"), 1)
Cells(ligne, "F") = rs("ref")
Cells(ligne, "G") = rs("nbr")
ligne = ligne + 1
rs.MoveNext
Loop
End Sub

JB
http://boisgontierjacques.free.fr


On 23 nov, 16:06, Thierry wrote:
Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2 006")-NB.-SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référ ence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamiqu e ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry


Avatar
Thierry
Merci à toutes et à tous,

Je vais tester cela la semaine prochaine et je vous tiendrais informer...

Merci encore
--

Amicalement,
Thierry



Bonjour,

Crée le tableau:

http://cjoint.com/?lxskiwEljV

Sub Essai()
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & _
ThisWorkbook.Path & "" & ThisWorkbook.Name
Sql = "SELECT month(dates) as mois,ref,count(ref) as Nbr From BD
Group BY month(dates),ref"
Set rs = cnn.Execute(Sql)
ligne = 2
Do While Not rs.EOF
Cells(ligne, "E") = DateSerial(2006, rs("mois"), 1)
Cells(ligne, "F") = rs("ref")
Cells(ligne, "G") = rs("nbr")
ligne = ligne + 1
rs.MoveNext
Loop
End Sub

JB
http://boisgontierjacques.free.fr


On 23 nov, 16:06, Thierry wrote:
Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2006")-NB.-SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique ?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry






Avatar
Jacky
Bonsoir,

Ou encore...
=SOMMEPROD((ANNEE(dat)&MOIS(dat)=an&MOIS(H$1))*(Ref=$G2))
Voir ici:
http://cjoint.com/?lxsCxfktfi

--
Salutations
JJ


"Thierry" a écrit dans le message de
news:
Bonjour,

J'ai un classeur avec deux onglets:
L'onglet Statistitques et l'onglet Détails

J'ai un tableau de 2 colonnes de 24000 lignes
Dans la première des dates
Dans la seconde desréférences (8 différentes)
exemple:
01/02/2006 Ref1
02/02/2006 Ref1
06/02/2006 Ref2
06/02/2006 Ref1
08/02/2006 Ref3
06/03/2006 Ref2
06/04/2006 Ref1

J'arrive actuellement à déterminer le nombre pour chaque mois, exemple
pour
le momis de Nov. 2006:
=(NB(Détails!$A$2:$A$24070)-NB.SI(Détails!$A$2:$A$24070;">/11/2006")-NB.SI(Détails!$A$2:$A$24070;"<0/11/2006"))*-1

J'arrive à calculer le nombre pour chaque référence.

Mais je n'arrive pas à calculer le nombre par mois pour chaque référence
Dans l'exemple ci-dessus je souhaite obtenir:
Ref1 - Fev 2006 : 3
Ref1 - Avr 2006 : 1
Ref2 - Fev 2006 : 1
Ref2 - Avr 2006 : 1
Ref3 - Fev 2006 : 1

Comment faire cela dans un tableau excel sans un tableau croisé dynamique
?
A partir de fonction comme NB.SI ou SOMMEPROD avec lesquelles j'ai buté
jusque là !

--

Amicalement,
Thierry