Notifications
Clear all

Somases com referência mesclada

4 Posts
4 Usuários
0 Reactions
1,186 Visualizações
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Bom dia pessoal.

Como solucionar o problema do arquivo em anexo ?

Somases com a referência sendo célula mesclada ?

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 12/02/2016 8:17 am
Zgoda
(@zgoda)
Posts: 88
Trusted Member
 

Olha, em outros tópicos já foi abordado esse assunto e de fato as funções soma ou somase não funcionam com células mescladas.
Você pode criar uma coluna oculta (coluna F, com as seguintes fórmulas) entre a data e os valores para fazer o cálculo, como no exemplo em anexo.

Espero ter ajudado.

 
Postado : 12/02/2016 8:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A solução proposta pelo ZGoda é a melhor mesmo !

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/02/2016 9:13 am
(@osvaldomp)
Posts: 0
Eminent Member
 

Carlos, se ainda houver interesse, seguem duas alternativas.
Solução com fórmulas - não consegui uma fórmula que funcionasse para quantidades variáveis de linhas mescladas, por isso os intervalos devem ser inseridos para cada caso, não é possível arrastar a fórmula. Assim, a fórmula abaixo retorna a SOMA para o primeiro critério do seu exemplo, que é 01/02/16. No arquivo anexado há fórmulas para os critérios 02, 03 e 04/02/16.

=SOMA(INDIRETO("F"&SOMARPRODUTO((E11:E18=H11)*(LIN(11:18)))&":F"&SOMARPRODUTO((E11:E18=H11)*(LIN(11:18)))+7))

Se a sua tabela contiver somente algumas datas, por ex. 10 datas, acho viável trabalhar com as fórmulas. No entanto, como segunda alternativa segue uma solução que utiliza macro para obter as SOMAS desejadas. Experimente o código abaixo.

Sub Soma1Critério()
 Dim c As Range, LR As Long, k As Long, m As Long, x As Long
  LR = Cells(Rows.Count, 6).End(xlUp).Row
   [H:I] = ""
   For x = 11 To LR
    If Cells(x, 5).MergeCells Then
     k = Cells(x, 5).MergeArea.Rows.Count
     Cells(m + 11, 8) = Cells(x, 5)
     Cells(m + 11, 9) = Evaluate(Application.Sum(Range(Cells(x, 6), Cells(x + k - 1, 6))))
     m = m + 1: x = x + k - 1
    Else
     Cells(m + 11, 8) = Cells(x, 5): Cells(m + 11, 9) = Cells(x, 6): m = m + 1
    End If
   Next x
End Sub 

No arquivo anexo a solução por fórmulas está na Plan1 e por macro na Plan2.

Osvaldo

 
Postado : 13/02/2016 6:16 pm