> Tous les forums > Forum Bureautique
 [Excel 2007] Fonction NB.SI - problème
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Mike Portnoy
  Posté le 25/06/2014 @ 16:16 
Aller en bas de la page 
Petit astucien

Bonjour à tous,

Je me permets de vous écrire pour m'aider à composer une formule assez spéciale.

Mon tableau contient plusieurs chiffres séparés par des espaces.

De plus, dans une autre colonne, j'ai une liste de chiffres de 1 à 26 (voir tableau excel ci-joint).

Ce que j'aimerai faire, c'est que la cellule C1 m'indique combien de fois le chiffre de la cellule B1 se trouve dans la liste A1 à A2.

Exemple :

Dans la liste, combien de fois ressort le chiffre de la cellule B23 ? 2x

Combien de fois ressort le chiffre de la cellule B3 ? 2x

En espérant avoir été clair, merci d'avance pour vos réponses.

Publicité
Mike Portnoy
 Posté le 25/06/2014 à 16:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Anonyme a écrit :

Salut

NB.SI() ne sert pas à ça !


La preuve que je ne suis pas très doué...

Les nombres sont au format "standard".

Merci beaucoup pour votre aide

DjiDji59430
 Posté le 25/06/2014 à 18:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Tu selectionnes la colonne A puis Données--> convertir, tu choisis espace, et tu te retrouve avec 4 colonnes et la tu peux utiliser nb.si().

Par exemple en f23 =nb.si(a1:d26;e23)



Modifié par DjiDji59430 le 25/06/2014 22:24
ferrand
 Posté le 25/06/2014 à 22:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

J'ai pas mieux pour l'instant, en C1:

=SOMMEPROD(--(ESTNUM(CHERCHE(STXT(SUBSTITUE(" "&$A$1&" "&$A$2&" ";" "&B1&" ";"A");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(" "&$A$1&" "&$A$2&" ";" "&B1&" ";"A"))));1);"A"))))

On peut décomposer en 2 maillons, cela permet d'ailleurs de mieux comprendre le mécanisme.

En C1 : =SUBSTITUE(" "&$A$1&" "&$A$2&" ";" "&B1&" ";"A")

En D1 : =SOMMEPROD(--(ESTNUM(CHERCHE(STXT(C1;LIGNE(INDIRECT("1:"&NBCAR(C1)));1);"A"))))

(2e partie inspirée de Boisgontier )

Toutes les formules sont tirables sur la colonne.

ferrand
 Posté le 25/06/2014 à 23:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Re,

Une solution plus simple : en C1 :

=(NBCAR($A$1&$A$2)+3-NBCAR(SUBSTITUE(" "&$A$1&" "&$A$2&" ";" "&B1&" ";"")))/(NBCAR(B1)+2)

A tirer sur la colonne.

ferrand
 Posté le 26/06/2014 à 12:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Pour le fun, une autre solution utilisant une fonction personnalisée :

Function NBDANS(nr As Integer, ParamArray suites())
Dim i%, j%, n%, ch
Application.Volatile
If IsMissing(suites) Then
NBDANS = CVErr(xlErrNA)
Exit Function
End If
For i = 0 To UBound(suites)
If Application.WorksheetFunction.IsText(suites(i)) Then
ch = Split(suites(i))
For j = 0 To UBound(ch)
If IsNumeric(ch(j)) Then
If CInt(ch(j)) = nr Then n = n + 1
Else
NBDANS = CVErr(xlErrValue)
Exit Function
End If
Next j
Else
NBDANS = CVErr(xlErrValue)
Exit Function
End If
Next i
NBDANS = n
End Function

La fonction étant collée dans un module standard, en C1 la formule suivante (à tirer sur la colonne comme les autres) :

=NBDANS(B1;$A$1;$A$2)



Modifié par ferrand le 26/06/2014 12:25
ferrand
 Posté le 27/06/2014 à 22:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Une autre variante personnalisée :

Function NBDEDANS(nr As Integer, ParamArray suites())
Dim i%, h%, n%, ch
Application.Volatile
If IsMissing(suites) Then
NBDEDANS = CVErr(xlErrNA)
Exit Function
End If
For i = 0 To UBound(suites)
If Application.WorksheetFunction.IsText(suites(i)) Then
ch = Replace(" " & suites(i) & " ", " " & nr & " ", Chr(191))
Do
h = InStr(h + 1, ch, Chr(191))
If h > 0 Then n = n + 1
Loop While h > 0
Else
NBDEDANS = CVErr(xlErrValue)
Exit Function
End If
Next i
NBDEDANS = n
End Function

C1 => =NBDEDANS(B1;$A$1;$A$2)

ferrand
 Posté le 29/06/2014 à 16:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je n'ai plus de variantes intéressantes !

Mike Portnoy
 Posté le 01/07/2014 à 17:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Wow je devrais me connecter plus souvent sur PCASTUCES, merci pour tous ces renseignements, je vous redirai quelle solution je vais utiliser.

Merci beaucoup.

Lui
 Posté le 05/07/2014 à 11:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Hello tous ,

Juste pour dire, Ferrand, respect

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
28,99 €Clavier sans fil Microsoft All in One avec pad intégré à 28,99 €
Valable jusqu'au 08 Décembre

Amazon fait une promotion sur le clavier Microsoft All in One qui passe à 28,99 € au lieu de 39 €. Ce clavier sans fil (jusqu'à 9 mètres) est idéal pour piloter un ordinateur à distance puisqu'il intègre un touchpad pour contrôler également la souris. Léger, solide et résistant aux éclaboussures, il comporte de nombreuses touches multimédia personnalisables. Il est garanti 3 ans. La livraison est gratuite.


> Voir l'offre
319,99 €Ecran PC incurvé 31,5 pouces Lenovo G32QC A (QHD, 165 Hz, pied réglable) à 319,99 €
Valable jusqu'au 08 Décembre

RueDuCommerce fait une promotion sur l'écran PC incurvé 31,5 pouces Lenovo G32QC A qui passe à 319,99 € au lieu de 399 €. Cet écran possède une dalle incurvée 32 pouces VA QHD (2560x1440) à 1 ms et à 165 Hz (FreeSync Premium et Adaptive Sync). Pied réglable en hauteur et en inclinaison.


> Voir l'offre
0 €Cartouche d’encre ou papier photo à 0 €
Valable jusqu'au 08 Décembre

InkClub offre une cartouche d'encre pour 0 €. Inscrivez la référence de votre imprimante dans la case de recherche. Vous serez ensuite dirigé vers la liste des produits prévus pour votre imprimante. Vous reconnaîtrez les offres à 0 € grâce aux symboles. Et si vous ne trouvez pas de cartouche pour votre imprimante à 0 €, vous pourrez vous tourner vers du papier photo.

L'offre n'est valide qu'une fois par client. Des frais de transport fixes s'ajoutant (4,95 €) n'hésitez pas à compléter votre commande avec d'autres cartouches notamment les modèles compatibles InkClub qui sont de bonne qualité.


> Voir l'offre

Sujets relatifs
Excel 2007 Problème bizarre #valeur!
Probleme d'enregistrement avec excel 2007
Fonction SI Excel (Excel 2007)
Probleme excel - tri dans macro Excel 2007
Problème de "fonction" sous Excel
Problème doc excel 2007 et office 2002
fonction FIN.MOIS Excel 2007
Problème avec mon graph à bulles sur Excel 2007
Excel 2007 problème formule
Problème virgule Excel 2007
Plus de sujets relatifs à [Excel 2007] Fonction NB.SI - problème
 > Tous les forums > Forum Bureautique