Eviter plusieurs sommeprod.

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonsoir,

Je voudrais additionner dans une matrice les nombres situés en ligne +1, en ligne -1 ou les deux si existant.
J'avais commencé avec un sommeprod qui ne prend que les nombres situés dans la colonne, je voudrais éviter une suite de nombreux sommeprod, si vous avez une solution, je suis preneur.
merci de votre aide et bonne soirée à tous.
 

Pièces jointes

Re : Eviter plusieurs sommeprod.

Bonsoir

Excuses, mais je ne comprend pas grand chose à ta demande. Pourrais tu détailler la méthode utilisée pour trouver les résultats ? Pour toi, c'est peut être simple. Pas pour nous...

@ plus
 
Re : Eviter plusieurs sommeprod.

Bonjour.
Donc si j'ai bien compris, il ne faudrait pas seulement 4 colonnes mais 10, autant que de lignes:
de 1 à 10 titré en jaune en haut et de 1 à 10 titré en vert à gauche.
Et dans chaque case le nombre de fois où chaque numéro titré en jaune figure dans une ligne suivie ou précédée d'une ligne contenant le numéro titré en vert. C'est ça ?
Bon. Si la plage rectangulaire passée en paramètre ne contient que des numéros de 1 à 10, cette formule personnalisée matricielle le donne:
VB:
Function NbrPrésentsVoisins(Rg As Range) As Variant
Dim Ts(1 To 10, 1 To 10) As Long, L1 As Long, C1 As Long, N°1 As Long, L2 As Long, C2 As Long, N°2 As Long
Dim Te() As Variant
Te = Rg.Value
For L1 = 1 To UBound(Te, 1)
   For C1 = 1 To UBound(Te, 2)
      N°1 = Te(L1, C1)
      For L2 = L1 - 1 To L1 + 1 Step 2
         If L2 >= 1 And L2 <= UBound(Te, 1) Then
            For C2 = 1 To UBound(Te, 2)
               N°2 = Te(L2, C2): Ts(N°1, N°2) = Ts(N°1, N°2) + 1
               Next C2
            End If
         Next L2
      Next C1
   Next L1
NbrPrésentsVoisins = Ts
End Function
Mais... À quoi ça va bien pouvoir servir ??
À+
 
Re : Eviter plusieurs sommeprod.

Bonjour Danreb, Cisco,
Merci pour cette fonction que je vais utiliser en plus d'une formule que m'avait fourni "Modeste" :
=SOMME(SI(NB.SI(DECALER($A$1:$E$1;LIGNE($1:$10)-1;0);$I2)*NB.SI(DECALER($A$1:$E$1;LIGNE($1:$10);0);J$1);1;0)) (en matriciel)
Merci à vous et bon AM
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
169
  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
224
Réponses
19
Affichages
708
Retour