SI à plusieurs conditions dont cellule vide ou non vide
RésoluHappy79_2 Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un peu embêté, car j'aimerais trouvé une formule SI qui me permettrait de référer à plusieurs onglets pour automatiser la comptabilisation des réponses dans un tableau.
Ex. J'aimerais qu'il puisse prendre les données de l'onglet21EDM et les mettre à la suite MAIS que si une cellule est vide passer à l'onglet suivant.
J'imagine que je dois combiner un SI(RechercheV) avec un SI(ESTVIDE...
mais je m'y connais peu en SI à multiples conditions.
Dans la cellule en vert, j'ai essayé ceci =SI(ESTVIDE('21 EDM'!B17);'21 EDL'!B17;'21 EDM'!B17).
C'était un point de départ, mais...
Est-ce faisable et comment? Merci à l'avance de résoudre ce défi.
- Formule excel si non vide
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
7 réponses
Bonjour.
Comme tu le sais https://forums.commentcamarche.net/forum/affich-32271058-si-recherchev-et-ou#1 on ne peut pas travailler sans le fichier !
Une simple image ne suffit pas !
1) Aller dans https://www.cjoint.com/
2) Cliquer sur [Parcourir] pour sélectionner le fichier (15 Mo maxi)
3) Défiler vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir "Copier le lien"
5) Revenir dans la discussion sur CCM, et dans votre message faire "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Il existe aussi https://www.transfernow.net/
Désolé, il y avait longtemps que je n'avais pas écrit.
Voici le lien : https://www.cjoint.com/c/MLbn5caszvw
Hello,
Dans un premier temps essaie :
=SI('21 EDM'!B14<>"";'21 EDM'!B14;SI('21 EDL'!B14<>"";'21 EDL'!B14;SI('21RDP'!B14<>"";'21RDP'!B14;"")))
bonsoir
si une seule cellule de chaque ligne de tableau est remplie alors tester
='21 EDM'!B14&'21 EDL'!B14&'21 RDP'!B14
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
=SI('21 EDM'!B14<>"";'21 EDM'!B14;SI('21 EDL'!B14<>"";'21 EDL'!B14;SI('21RDP'!B14<>"";'21RDP'!B14;"")))
Mon problème est plus complexe. Cette formule pourrait peut-être fonctionner si je devais traiter une ligne à la fois, mais ce n'est pas le cas. alors je vais reformuler. Je vais simplifier.
Imaginons que le contenu de mes onglets c'est :
21 EDM
- B14 = M1; B15=M2; B16=M3, etc.
21 EDL
- B14= L1; B15=L2; B16=L3, etc. Idem pour 21RDP
Il faut que :
- S'il n'y a aucune données en B14 pour chaque onglet, il cherche dans B15 pour trouver la prochaine donnée disponible dans le tableau.
- chaque ligne de l'onglet 21 puisse aller chercher la donnée disponible suivante
- ex. : Si dans 21EDM il y a rien dans B14, que 21 EDL a 2 lignes de données et que RDP a 3 lignes de données, je veux que l'onglet 21 puisse aller chercher les 5 lignes...
- que B14 affiche la 1ere ligne de EDL (b14), que B15 affiche la 2e EDL; que B17 à B19 affiche les 3 lignes de données de RDP.
Selon mon exemple, mon onglet 21 devrait me donner comme résultat :
- B14 : L1
- B15 : L2
- B16 : R1
- B17 : R2
- B18 : R3
C'est pourquoi dans mon 1er post je parlais d'un mix avec recherchev possible...Je ne sais même pas si c'est faisable.
Espérant le tout plus clair.
Hello,
Quelle est ta version d'Excel ?
Hello,
On reprends depuis le début, le principe j'assemble dans un même tableau vertical tes trois plages de données avec :
ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24)
tu peux déjà dans une cellule faire pour voir ce que cela donne :
=ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24)
Ensuite avec la fonction FILTRE, je filtre ce tableau en ne prenant que les valeurs différentes de 0, cela donnerait :
FILTRE(ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24); ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24)<>0)
La fonction LET permet de nommer une plage ou une formule afin de simplifier et d'optimiser l'écriture de la formule souhaitée.
Donc je nomme t (on peut prendre ce que l'on veut), le tableau vertical créé avec :
LET(t;ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24); ...
et ensuite je filtre ce tableau t en ne prenant que les valeurs différentes de 0 avec :
FILTRE(t;t<>0)
Ce qui donne au final une formule unique et dynamique :
=LET(t;ASSEMB.V('21 EDM'!B14:B24;'21 EDL'!B14:B24;'21 RDP'!B14:B24);FILTRE(t;t<>0))
Ces nouvelles fonctions 365 sont impressionnantes, mais valables uniquement pour Excel 365.