es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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!

Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.