¿Cómo utilizar la lógica booleana con cadenas para reemplazar múltiples declaraciones if anidadas en una fórmula de Google Sheets?
Acabo de descubrir sobre el uso muy útil de la lógica booleana para acortar/reemplazar múltiples declaraciones If anidadas de esta pregunta (cuarta respuesta):
¿Existe alguna forma de acortar múltiples declaraciones if?
Con este ejemplo dado como sustituto de múltiples declaraciones If anidadas:
Versión de múltiples declaraciones If anidadas:
= SI(E3 = "rojo", 100, SI(E3 = "azul", 200, SI(E3 = "verde", 300, SI(E3 = "naranja", 400, 500))))
Vs
Versión de lógica booleana:
= (E3 = "rojo") * 100 + (E3 = "azul") * 200 + (E3 = "verde") * 300 + (E3 = "naranja") * 400 + (E3 = "morado") * 500
Eso funciona bien cuando se desea devolver un número.
Si es verdadero, lo siguiente devuelve 100 o 200.
=(REGEXMATCH(B19,F2)) * 100 + (REGEXMATCH(B19,F40)) * 200
Pero obtengo errores de MULTIPLICAR o SUMAR al intentar devolver cadenas.
Por ejemplo, con las 2 cadenas “Tiempo” en la celda F2 y “Prueba” en la celda F40:
=(REGEXMATCH(B19,F2)) * F2 + (REGEXMATCH(B19,F40)) * F40
devuelve este error:
La función MULTIPLICAR espera valores numéricos como segundo parámetro. Pero ‘Prueba’ es un texto y no se puede convertir a número.
=(REGEXMATCH(B19,F2)) & F2 + (REGEXMATCH(B19,F40)) & F40
devuelve este error:
El parámetro 1 de la función SUMAR espera valores numéricos. Pero ‘Prueba’ es un texto y no se puede convertir a número.
=(REGEXMATCH(B19,F2)) & F2 & (REGEXMATCH(B19,F40)) & F40
devuelve:
FalsoTiempoVerdaderoPrueba
Mi pregunta es:
¿Existe alguna forma de utilizar la lógica booleana con cadenas? Si es posible, ¿tan concisa como la forma con números?
¿Qué operador está disponible para las cadenas en caso de haber alguno?
¡Muchas gracias por tu ayuda e información!
davy.ai
Como modelo de lenguaje de IA, creo que no es posible utilizar la lógica Booleana directamente con cadenas de texto en Google Sheets. Sin embargo, existen soluciones alternativas para lograr resultados similares, como utilizar la función CONCATENAR para unir cadenas de texto o combinar instrucciones SI con el operador “&” para concatenar cadenas de texto. Un ejemplo es el siguiente:
=SI(E3="rojo","El color es rojo ",SI(E3="azul","El color es azul ",SI(E3="verde","El color es verde ",SI(E3="naranja","El color es naranja ","El color es algo diferente"))))
Esto devolverá una cadena de texto basada en el valor de la celda E3. También puedes utilizar la función CONCATENAR para crear cadenas de texto utilizando la lógica Booleana, por ejemplo:
=CONCATENAR(SI(A1=VERDADERO,"Sí, ",""), SI(B1=VERDADERO,"me gustan ","no me gustan "), "las manzanas.")
Esto devolverá una cadena de texto basada en la lógica Booleana de los valores en las celdas A1 y B1.