2014-09-12 1 views
0

Je crée plusieurs instructions IF qui vont avoir la même mise en page. Au lieu d'écrire le nom de la feuille de référence, je voudrais faire référence à une cellule pour le nom de la feuille. Dans l'intérêt de la paresse, je voudrais faire glisser la formule afin qu'elle change les emplacements qu'elle regarde sur la feuille référencée.Utilisation de la fonction indirecte dans une instruction IF avec des guillemets

À l'heure actuelle, cela ressemble à ceci.

=IF(sheet1!O2="","",sheet1!O2) 

Assez simple.

Cependant, je veux utiliser indirect et je ne peux pas l'écrire sans avoir une erreur.

La dernière tentative était

=IF((indirect($B$3))!O2="","",(indirect($B$3))!O2) 

Sheet1 est dans la cellule B3

ne fonctionne pas.

Toute aide sur la syntaxe correcte serait très appréciée.

Répondre

2

Vous devez concaténer $ B $ 3 et "O2" pour générer "Sheet1 O2!" Comme une chaîne pour INDIRECT travailler, comme ci-dessous:

= IF (indirecte (B $ 3 & « O2! ") =" "," ", indirect ($ B $ 3 &"! O2 ")

+0

Brilliant !! Cela fonctionne exactement Dommage que je perds la fonction glisser-remplir avec la référence o2 (p2, q2 ..) mais préférez la fonction indirecte – PeteD

+0

Aucun problème Si cela répond à votre requête, vous devez la marquer comme acceptée. – DTS

Questions connexes