¿Por qué no puedo anidar SUSTITUTO en una declaración IF?

¿Por qué no puedo anidar SUSTITUTO en una declaración IF?

No puedo entender qué hay de malo en esta fórmula:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))

esencialmente (SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)devuelve el valor de la letra de la columna actual, por ejemplo, 'B'. El 3 al final devuelve el número de fila. Entonces en total B3.

Esta es una fecha que es un tipo de fecha corta. Luego se compara con otra fecha, que también es del tipo de fecha corta.

Esta fórmula no funciona. Al cambiar la fórmula a:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)

devuelve falso independientemente de si se cumple o no la condición if.

Cualquier ayuda sería muy apreciada.

Respuesta1

Necesitas un "indirecto". Estás comparando una dirección de cadena con un valor de celda.

Cuando evalúas la fórmula, básicamente obtienes esto:

ingrese la descripción de la imagen aquí

¿Qué evaluado te da esto?

ingrese la descripción de la imagen aquí

If(string<value, true, false)

Podrías probar con una indirecta...

=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)

Comparará el valor de la celda con el de la otra celda.

ingrese la descripción de la imagen aquí

Respuesta2

Sin ver cuál es el texto que estás usando Substitute, prueba cualquiera de estos:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)

Puede que te resulte brusco debido al hecho de que estás buscando una cadena y reemplazándola con un número. Si no, ¿puedes publicar el texto que estás usando para sustituirlo?

información relacionada