> 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.

Publicité
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
Petit astucien

Hello tous ,

Juste pour dire, Ferrand, respect

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 !


Les bons plans du moment PC Astuces

Tous les Bons Plans
24,99 €Souris Logitech Marathon Mouse M705 à 24,99 €
Valable jusqu'au 24 Février

Amazon fait une promotion sur la souris Logitech Marathon Mouse M705 qui passe à 24,99 € livrée gratuitement. On la trouve ailleurs à partir de 39 €. Cette souris sans fil dispose d'un capteur laser pour un contrôle précis sur toutes les surfaces. Vous bénéficierez d’une autonomie des piles allant jusqu'à trois ans.


> Voir l'offre
329,90 €Ecran ultra large LG 34 pouces 34WL50S-B à 329,90 €
Valable jusqu'au 28 Février

Amazon propose actuellement l'écran 34 pouces LG 34WL50S-B à 329,90 € livré gratuitement alors qu'on le trouve à partir de 400 € ailleurs. Cet écran ultra large est au format 21/9, possède une dalle IPS et offre une résolution de 2560 x 1080 pixels. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films. Cet écran est compatible FreeSync.


> Voir l'offre
13,99 €Microsoft Office 2019 Professional Plus à 13,99 €
Valable jusqu'au 25 Février

Le vendeur sérieux Digital FR propose sur Amazon la clé d'activation légale pour Microsoft Office Professionnel 2019 Plus en français à 13,99 €. Cette clé livrée par email vous permettra d'activer Microsoft Office Professionnel 2019 Plus légalement et vous permettra ainsi d'utiliser autant de temps que vous voulez (il s'agit de la version complète et pas d'un abonnement) Word,Excel, PowerPoint, OneNote, Outlook, Publisher et Access 2019 sur un PC. La clé sera à activer sur Office.com où vous pourrez ensuite télécharger toute la suite bureautique. Pour mémoire, Microsoft Office Professionnel 2019 nécessite Windows 10. Sous Windows 7 ou 8, vous devrez vous tourner vers la version 2016. Pour plus d'info sur la procédure, n'hésitez pas à jeter un oeil à notre dossier pratique Acheter une clé OEM d'Office 2019 et l'installer.


> 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