Somar valores contidos em uma única célula

Em A1 eu tenho os valores: 15,50+10,00+30,50
Em A2 eu quero que retorne a soma desses números, ou seja: 56, alguém sabe como obter esse resultado sem usar VBA?
Desde já agradeço!

Não é só colocar um sinal de = na frente da expressão de A1? em A2 coloque =A1

Olá @Bianchini, avaliando sua necessidade, fazer isso através de fórmulas provavelmente será inviável.

##Solução 01##

Para resolver a questão sem o uso de macros, vou seguir o que o @Oliver colocou como solução, que é colocar o sinal de "=" no início.

Para isso, em B1 insira a seguinte fórmula =CONCATENAR("'=";A1), e em seguida arraste para quantas linhas desejar.

Seguindo como exemplo citado por você mesmo, em A1 contém 15,50+10,00+30,50+1098,25+0,13

Siga as etapas

  1. Em B1 insira a fórmula =CONCATENAR("'=";A1)
  2. Copie as células e cole como TEXTO Na célula aparecerá da seguinte forma '=15,50+10,00+30,50+1098,25+0,13
  3. Em Localizar e Substituir (Ctrl + H), no campo Localizar insira '=, no campo substituir insira = em seguida clique em Substituir Todos

Após este procedimento, todas as células na Coluna B estarão com o resultado final da soma.


##Complemento - Demonstração como proceder ##

Etapa 01

Descrição da imagem

Etapa 02

Descrição da imagem

Etapa 03


##Solução 02##

Através de macro (Function ou Sub) *comentários de como funciona o procedimento na Sub

Function SomarTexto(Texto as String) as Double

	Dim Caract, i as Long
	Dim Soma as Double
	Dim Check as String
	Dim NewTexto as String
	
		Caract = Len(Texto)
		
		For i = 1 to Caract
			Check = Mid(Texto, i, 1)
				If Check <> "+" then
					NewTexto = NewTexto & Mid(Texto, i, 1)
				Else
			 		Soma = Soma + cdbl(NewTexto)
			 		NewTexto = ""
			 	End If
		Next i
		
		Soma = Soma + cdbl(NewTexto)
		
		SomarTexto = Soma

End Function

Sub SomarTexto2

	Dim oDoc, oSheet as Object
	Dim oldTexto, NewTexto, Check as String
	Dim Caract, i as Long
	Dim Soma as Double
		
		rem Definição das variáveis de planilha
		oDoc = ThisComponent
		oSheet = oDoc.Sheets.getbyname("Planilha1")
		
		rem Coleta a informação em A1
		oldTexto = oSheet.getCellbyPosition(0, 0).string
		
		rem identifica quantos caracteres possuí no texto
		Caract = Len(oldTexto)
		
		rem loop para separar cada caracter até encontrar "+", e depois somar
		For i = 1 to Caract
			Check = Mid(oldTexto, i, 1)
				If Check <> "+" then
					NewTexto = NewTexto & Mid(oldTexto, i, 1)
				Else
			 		Soma = Soma + cdbl(NewTexto)
			 		NewTexto = ""
			 	End If
		Next i
		
		rem soma o último número do texto
		Soma = Soma + cdbl(NewTexto)
		
		rem Insere o resultado na B1
		oSheet.getCellbyPosition(0, 1).Value = Soma

End Sub

Olá, eu segui as etapas abaixo, por vc sugeridas porém no resultado final em B1 não aparece a soma dos valores e sim aparece o sinal de igual na frente de todos os valores contidos em A1

Em B1 insira a fórmula =CONCATENAR("’=";A1)
Copie as células e cole como TEXTO Na célula aparecerá da seguinte forma '=15,50+10,00+30,50+1098,25+0,13
Em Localizar e Substituir (Ctrl + H), no campo Localizar insira '=, no campo substituir insira = em seguida clique em Substituir Todos
Após este procedimento, todas as células na Coluna B estarão com o resultado final da soma.

@Biacnchini olhe no complemento da resposta as imagens de como deve ser feito o procedimento. Provavelmente esteja pulando alguma etapa

@Conras: Eu ia colocar a minha resposta em um comentário à tua, porque ela estava quase correta. Mas o espaço para comentários é limitado, então tive que colocá-la como Resposta mesmo. Não leve a mal, por favor.

Ola @Bianchini, os valores sempre terão 5 dígitos ( 4 números e vírgula ) e sempre serão 3 valores ?

Se SIM pode-se usar as funções DIREITA e ESQUERDA para separar os números e somar.

=SOMA(ESQUERDA(A1;5)*1+ESQUERDA(DIREITA(A1;11);5)*1+DIREITA(A1;5)*1)

Se NÃO de mais detalhes editando sua pergunta ou acrescentando Comentário abaixo.

Complemento

Fórmula para até 6 números ( exemplo: a+b+c+d+e+f )

=SEERRO(ESQUERDA(A1;LOCALIZAR("+";A1;1)-1)*1;A1)+SEERRO(SE(SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")="";DIREITA($A1;NÚM.CARACT($A1)-LOCALIZAR("+";A1;1))*1;DIREITA(ESQUERDA($A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")-1);SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")-LOCALIZAR("+";A1;1)-1)*1);0)+SEERRO(SE(F1="";DIREITA($A1;NÚM.CARACT($A1)-SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);""))*1;DIREITA(ESQUERDA($A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")-1);SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")-SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")-1)*1);0)+SEERRO(SE(SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")="";DIREITA($A1;NÚM.CARACT($A1)-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);""))*1;DIREITA(ESQUERDA($A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")-1);SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")-1)*1);0)+SEERRO(SE(SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")="";DIREITA($A1;NÚM.CARACT($A1)-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);""))*1;DIREITA(ESQUERDA($A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")-1);SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")-1)*1);0)+SEERRO(SE(SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")+1);"")="";DIREITA($A1;NÚM.CARACT($A1)-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);""))*1;DIREITA(ESQUERDA($A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")+1);"")-1);SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")+1);"")-SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;SEERRO(LOCALIZAR("+";$A1;LOCALIZAR("+";A1;1)+1);"")+1);"")+1);"")+1);"")-1)*1);0)

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

Olá. A resposta da sua pergunta é NÃO pois poderão ser quaisquer tipos de números, por exemplo: 15,50+10,00+30,50+1098,25+0,13. Nesse exemplo o resultado deverá retornar o valor 1154,38.
Obrigado!

Tem previsão de qual a quantidade de números podem estar em uma mesma célula ?

Até seis, vide complemento na Resposta acima.

Também pode separar os valores em colunas e usar a soma

Dados / Texto para colunas e Separado por [v]Outro +

Ola @Bianchini,

A resposta do @Conras está (quase) correta. Porém, ela parte do pressuposto de que o CALC interpretará as fórmulas em B como Textos. Ocorre que por motivo que desconheço isso nem sempre acontece da forma esperada, e o CALC os classifica como um intermediário entre texto e número. Então, para que dê certo sempre faça o seguinte:

  1. Na coluna B, em vez de =CONCATENAR( “’=” ; A1) digite =CONCATENAR( “=” ; A1 ; " ") (Aqui é um espaço) - Ou simplesmente ="= " & A1 (sinal de igual, aspas, sinal de igual, um espaço, aspas, o & e A1 : dá na mesma.
  2. Copie a fórmula para as outras linhas de B
  3. Selecione a coluna B e copie (CTRL + C) e Cole Especial para a coluna C (CTRL + SHIFT + V) apenas TEXTO
  4. Selecione toda a coluna C e vá em Localizar e Substituir. No campo Localizar coloque um espaço em branco (tecla espaço) e deixe o campo Substituir sem nada (em branco, nada, null)
  5. Clique em Substituir Tudo. Provavelmente surgirão na coluna C os resultados. Se não der, então faça agora a substituição do "= por = como o @Conras sugeriu. Mas agora o CALC saberá como lidar com as substituições.
    Segue planilha teste onde esse efeito é constatado:

teste.ods

@Jedison Ambas as formas serão interpretadas como texto para o Calc, como também para o Office. Isso é uma característica da ferramenta. As células são calculadas a partir do momento em que ela sai do estado “ativo” (F2, duplo clic etc). Sempre que a célula conter letras, números e caracteres especiais, a ferramenta entenderá ela como TEXTO. A tarefa Localizar e Substituir executa a tarefa de recalculo ao alterar algum caractere contido nas células de pesquisa, por isso que as células ao receberem a alteração do '= ou simplesmente do = com espaço no fim, recebem o resultado da soma (neste exemplo em questão). Por isso não tem a forma errada ou certa de se fazer, existe diversas formas de fazer essa tarefa, de formas simples ou complexas