Tengo una fórmula que funciona, pero mi problema está en la columna G.
Si la celda está en blanco en la columna G, entonces devuelve#VALOR.
¿Alguien sabe alguna forma sencilla de solucionar este problema?
La fórmula está a continuación:
=IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4))))))
¡Muchas gracias!
Respuesta1
jatulle tiene razón, envolverlo en un iferror funcionará y es una respuesta completa. Sin embargo, también enmascarará cualquier otro error que ocurra en cualquiera de las fórmulas de anidamiento. Esto puede ser de tu agrado o no.
Una forma diferente de envolver es poner un cheque en blanco en el frente.
- if($g4="","", {Resto de la fórmula original },"")
a partir de la fórmula, por lo que $g4 está vacía, la celda permanece en blanco. Si tengo varias celdas y quiero hacerlo solo cuando todas tengan valores, entonces uso un OR como
- if(or($g4="",L$3=""),{Resto de la fórmula original },"")
Por último, si voy a usar esto en varios lugares, lo convertiré en un nombre [usando el administrador de nombres en la cinta]
- Válido=o($g4="",L$3)
entonces se usaría como
- If(Válido,{Resto de la fórmula original },"")
Prefiero usar un nombre como Valid en lugar de or($g4=""), más fácil de usar más adelante si necesito modificar algo.
Por último, seguí usando $g4="" en lugar de isblank($g4). Se podría utilizar ISblank si se lee mejor.
Respuesta2
Envuelva toda la fórmula IFERROR( anything , "value if error" )
así:
=IFERROR(IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4)))))), "" )