Problème avec une formule matricielle
Bonjour,
J'ai une formule matricielle qui à priori fonctionne bien. Mais quand je regarde un peu plus en profondeur je constate qu'elle ne fonctionne pas vraiment... car je m'aperçois qu'elle ne fonctionne que sur la première cellule de ma plage sélectionnée (soit C23:C36 dans le cas présent).
Des idées pour m'aider? peut-être que ma formule n'est pas correcte (problème de caractères ou autre)? la voici :
=SI('Chronologie du projet'!$C$23:$C$36=D$30,$B$31,NA())
En gros si je traduit je veux :
= SI (dates de parutions prévues = date du calendrier, alors afficher TELLE cellule, sinon afficher NA())
Pour ceux qui veulent voir mon fichier, il est en pièce jointe. Le principe est le suivant :
J'ai une liste de médias et des dates de parution qui y sont associées dans la première feuille (chronologie du projet).
Dans la seconde page (Calculs), je veux afficher pour chaque média une certaine valeur dans la colonne correspondant à la date de parution (lignes 31 à 38).
Ex : le Cyber-contact parait le 7 mai 2015 et le 21 mai 2015 selon la première page.
Donc dans la page de calcul, à la case D31 ET R31, je veux voir apparaître le chiffre 10 (le chiffre par défaut attribué à ce média).
Mais cela ne fonctionne que pour la case D31! et pas pour la seconde date
Après plusieurs tests, je m'aperçois que ma formule matricielle 'roule' seulement sur la première case de ma matrice! donc la formule SI n'est pas testée sur toute les cellules de la matrice spécifiée, mais seulement sur la première.
Si vous cherchez en plus à comprendre le reste du fichier, il s'agit d'un graphique dynamique qui se met à jour en fonction de la date que l'on saisit, pour avoir une vue d'ensemble des parutions sur le mois. Il ne manque qu'à faire fonctionner cette formule pour que tout aille bien!
Je suis bien sûr ouverte à toutes les autres façons de faire, autre qu'une formule SI matricielle.
J'ai passé ma journée sur ce fichier excel! faut que je le fasse marcher.
Merci d'avance pour votre aide.
Angel
Pas sûr d'avoir bien compris ... je présume que tu veux plutôt ceci :
=SI(NB.SI('Chronologie du projet'!$C$23:$C$36;D$30);$B$31;NA())Dans les 2 cas il ne s'agit pas de fonction matricielle, et de toute façon la fonction que tu utilises n'est en effet pas cohérente.
Je viens de revoir à tête reposée ... le problème est que ta formule n'a pas été validée par Alt+Maj+Entrée, elle a perdu son caractère matriciel !
Néanmoins la formule proposée est plus simple.
Je pense qu'on peut en faire une globale pour la zone ... au lieu de devoir retaper une formule différente par ligne !
en D31
=SI(SOMMEPROD(('Chronologie du projet'!$C$23:$C$75=D$30)*('Chronologie du projet'!$B$23:$B$75=$C31));$B31;NA())et en D44
=SI(SOMMEPROD(('Chronologie du projet'!$F$23:$F$75=D$43)*('Chronologie du projet'!$E$23:$E$75=$C44));$B44;NA())à tirer à droite et en bas
ajouter un "niveau" à B45 et B46
NB : très belle réalisation !
Merci beaucoup Steelson. Je savais qu'il y avait un moyen tellement plus facile! mais mon cerveau était comme bloqué!
Je vais regarder de près aussi ta deuxième suggestion. Mais la première fonctionne déjà parfaitement.
J'avais bien conservé le caractère matriciel en validant avec Ctrl+Maj+Entrée, mais je n'avais pas recopié les accolades dans mon message. Cela ne me dis pas pourquoi ma formule ne fonctionnait pas, mais au moins mon fichier fonctionne parfaitement maintenant et c'est ça l'important! J'ai encore un peu de boulot à faire pour maîtrise les formules matricielles
Encore merci!