Qual é o equivalente a parseInt()
(JS) ou intval()
(PHP) no Planilhas Google?
Eu quero calcular a soma dos números em uma linha em uma célula separada. Então, se eu tivesse 3 cups
e 5 cups
em uma fileira, eu conseguiria 18
.
Qual é o equivalente a parseInt()
(JS) ou intval()
(PHP) no Planilhas Google?
Eu quero calcular a soma dos números em uma linha em uma célula separada. Então, se eu tivesse 3 cups
e 5 cups
em uma fileira, eu conseguiria 18
.
Respostas:
Uma maneira de implementar algo assim é
=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))
O resultado desta fórmula para alguns exemplos de seqüências é dado abaixo.
Pode ser necessário modificá-lo para atender às suas necessidades individuais. Deve funcionar muito bem para cordas simples como "3 xícaras".
SPLIT(..., " ")
divide uma string em suas partes separadas por espaço. Você pode adicionar mais caracteres à sequência, por exemplo " -/"
, para dividir sempre que esses caracteres forem encontrados.
ISNUMBER
verifica se uma sequência é um número.
FILTER
pega a matriz e filtra tudo o que não satisfaz a segunda função, ou seja, remove tudo que não é um número.
INDEX(...; 1; 1)
retorna o valor na primeira linha, primeira coluna da matriz (portanto, apenas obtemos o primeiro número listado, nem todos os números listados).
VALUE
provavelmente não será necessário, mas apenas para uma boa medida, converte a sequência final em um valor numérico.
VALUE
...
VALUE
gera um erro ("não pode ser analisado em um número") em todas as entradas de exemplo que forneci na resposta.
VALUE
é a resposta para a primeira pergunta do OP e o título também.
Uma parseInt()
alternativa é:
=INT()
=SUM(ARRAYFORMULA(INT(LEFT(B1:B2, LEN(B1:B2)-5))))
O LEN(B1:B2)-5
, inclui um espaço em branco.
Parece um bom uso para regex. Por exemplo:
onde a fórmula em E2 é:
="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))
Isso remove todos os não numéricos, concatena o resultado com +
e precede =
.
Copie / Cole / Cole os valores apenas em, digamos, F2 (poderia ser E2) e, em seguida, Substitua =
por =
.