Si instruction qui retourne la fonction d'origine si false (similaire à iferror, ou substitute)


1

Si j'utilise IFERROR par opposition à IF (ISERROR, je peux sauvegarder en tapant la condition deux fois.

c'est à dire.

 =IFERROR(Long lookup,"not found")

est de loin préférable à

 =IF(ISERROR(long_lookup),"not found",long_lookup)

quand il y a une longue formule en cause.

Cependant pour quelque chose comme

 =IF(long_lookup=some_condition,"outtext",long_lookup)

Y at-il une formule générique où je peux taper

 =IF2(long_lookup,some_condition,"outtext")

pour des choses autres que des erreurs. Ou quelque chose de similaire, ce qui me permet de sortir la formule originale si une condition n'est pas remplie (plutôt que de simplement afficher FAUX).

Essentiellement, je veux éviter une formule inutilement dupliquée.

Une solution consiste à mettre la formule dans la colonne avant bien sûr et à utiliser

 =if(condition(a2),"out if true",A2))

Mais c'est pénible

EDIT: également similaire est = SUBSTITUTE (), mais cela ne fonctionne pas si la cellule entière que vous essayez de remplacer est également contenue en tant que sous-chaîne d'autres cellules, par exemple. si je voulais une recherche renvoyant "B" à la sortie "foobar", mais il était possible de renvoyer "Lot 1". Cela ne fonctionne pas non plus pour les blancs.


C'est très large. Il existe toutes sortes de solutions de contournement pour toutes sortes de situations. Par conséquent, il est difficile de donner une réponse, à moins de donner un exemple spécifique.
Raystafarian

Maintenant que j'ai modifié ma question, je vous suggère de nettoyer vos commentaires, comme je l'ai déjà fait.
Some_Guy

Voici quelques exemples d'un fil de discussion SO - pas grand chose que vous n'avez pas déjà mentionné, mais quelques idées.
Raystafarian

Voici un article cela parle de ce problème, mais nécessite VBA.
Raystafarian

Réponses:


0

En fait, c’est une très bonne question que je poserais aussi fréquemment, mais malheureusement, je ne pense pas actuellement qu’il existe une solution générale que vous puissiez utiliser.

Une solution de contournement consisterait à utiliser la fonction VBA, mais elle a aussi ses propres limites. Vous trouverez ci-dessous une fonction courte pour le faire (bien sûr, si vous voulez l’utiliser au sens large, il faut améliorer la gestion des erreurs, par exemple , pas seulement = ):

Function IfCondition(expression as Variant, criteria as Variant, ElseExpression)
  IF expression = criteria Then
    IfCondition = expression
  Else
    IfCondition = elseExpression
  End If
End Function
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.