¿Cuál es el equivalente de parseInt()(JS) o intval()(PHP) en las Hojas de cálculo de Google?
Quiero calcular la suma de los números en una fila en una celda separada. Entonces, si tuviera 3 cupsy 5 cupsen una fila, lo conseguiría 18.
google-sheets
PIE
fuente
fuente

Respuestas:
Una forma de implementar algo como esto es
El resultado de esta fórmula para algunas cadenas de ejemplo se da a continuación.
Puede que tenga que modificar esto para satisfacer sus necesidades individuales. Debería funcionar bastante bien para cadenas tan simples como "3 tazas".
SPLIT(..., " ")divide una cadena en sus partes separadas por espacios. Puede agregar más caracteres a la cadena, por ejemplo" -/", para dividir cada vez que se encuentren esos caracteres.ISNUMBERcomprueba si una cadena es un número.FILTERtoma la matriz y filtra todo lo que no satisface la segunda función, es decir, elimina todo lo que no es un número.INDEX(...; 1; 1)devuelve el valor en la primera fila, primera columna de la matriz (por lo que solo obtenemos el primer número de la lista, no todos los números de la lista).VALUEprobablemente no será necesario, pero solo por una buena medida convierte la cadena final en un valor numérico.fuente
VALUE...VALUEgenera un error ("no se puede analizar en un número") en todas las entradas de ejemplo que di en la respuesta.VALUEes la respuesta a la primera pregunta de OP y también el título.Otra alternativa que funciona con celdas que contienen copa o copas
= ArrayFormula (SUM (INT (IZQUIERDA (B1: B2, FIND ("", B1: B2)))))fuente
Una
parseInt()alternativa es:Fórmula
Captura de pantalla
Nota
El
LEN(B1:B2)-5, incluye un espacio en blanco.Referencia
https://support.google.com/drive/answer/3093490
fuente
Parece un buen uso para la expresión regular. Por ejemplo:
donde la fórmula en E2 es:
Esto elimina todos los no numéricos, concatena el resultado con
+y antepone=.Copiar / Pegar / Pegar valores solo en, digamos, F2 (podría ser E2) y luego Reemplazar
=con=.ÚNETE A
REGEXREPLACE
fuente