Um ramo pouco conhecido da maioria dos planilheiros é o das funções de
banco de dados (BDCONTAR, BDSOMA...).

Nestas funções os critérios ficam fora da fórmula por que são expressos
numa tabela própria que vc define na planilha e cuja manipulação pode
ser mais fácil. Ali vc pode ter critérios E e OU combinados.

Operam-se milagres com elas e não são tabelas dinâmicas.

Abs

Em 27/09/2019 08:40, Embalagens Municipal escreveu:
> " Voce pode usar a função SOMASES, que soma várias colunas com vários
> critérios
> 
> SOMASES(Intervalo_Func; Intervalo1; Critério1 [ ; Intervalo2; Critério2
> [;...]])) "
> 
> Então Oliver, como eu tinha respondido antes, e acho que não foi para o
> fórum, a função SOMASES só retornará a soma se todos os critérios forem
> checados
> simultaneamente. Eu precisaria de um SOMASES em que os vários intervalos
> e/ou critérios se relacionassem logicamente como OU e não como E, ou seja,
> que ao menos um dos critérios nos intervalos fosse um resultado verdadeiro,
> e não todos.
> 
> Outra coisa que eu pensei, seria como fazer uma conferência em uma matriz.
> O que notei é que o dado procurado nunca vai se repetir na mesma linha,
> porque
> um faturamento parcelado, nunca terá dois ou mais vencimentos na mesma
> data. Mas o dado poderá se repetir em uma mesma coluna, já que cada linha é
> um
> faturamento de um pedido diferente, em datas diferentes.
> 
> " Realmente o somases é a melhor solução, mas me parece que vc quer mesmo
> é colocar os valores das parcelas ao longo de uma série de colunas? vc
> tinha mencionado algo assim:
> 
>     indice data valor par1 par2 par ...
>     1         2/8   36     6      6       6    ...
> 
> certo? que tal m pivot? para o pivot vc precisaria de cada parcela na
> base de dados principal normalizada.
> 
> agora sem o pivot, vc usar um truque sujo de programação que é
> multiplicar o array booleano pelo valor da parcela: "
> 
> Bem, essa eu não conhecia. Mas sobre a divisão das parcelas, isto está
> tranquilo. Isto eu consegui fazer.
> A encrenca maior está em condensar nas células do calendário todos os
> valores de todas as parcelas que vencem
> na data correspondente.
> 
> Atenciosamente,
> 
> Paulo Murilo
> Embalagens Municipal
> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
> Telefone Fixo:   (41) 3263-3337
> Cel.WhatsApp: (41)  98403-2118
> 
> 
> 
> Em qui, 26 de set de 2019 às 20:52, Bruno Rafael Santos <
> [email protected]> escreveu:
> 
>> Realmente o somases é a melhor solução, mas me parece que vc quer mesmo
>> é colocar os valores das parcelas ao longo de uma série de colunas? vc
>> tinha mencionado algo assim:
>>
>>     indice data valor par1 par2 par ...
>>     1         2/8   36     6      6       6    ...
>>
>> certo? que tal um pivot? para o pivot vc precisaria de cada parcela na
>> base de dados principal normalizada.
>>
>> agora sem o pivot, vc usar um truque sujo de programação que é
>> multiplicar o array booleano pelo valor da parcela:
>>
>>     par1    par2    par3
>>
>>     se(and(data >= par1; data <= par2, 1, 0)) * valor
>>
>> isto retornará as parcelas distribuídas nas datas corretas (onde par é a
>> data de vencimento), se as parcelas forem iguais funciona que é uma beleza.
>>
>> *Bruno Rafael de C. Santos*
>> /R&D Project Manager
>> resume <https://cutt.ly/uwwqjvT> | research <https://cutt.ly/Fwq68fL> |
>> blog <http://www.rafaelocremix.wordpress.com/>
>> phone: +55 21 979 817 467
>> /
>> Am 26.09.19 um 17:45 schrieb Embalagens Municipal:
>>> "certo, tens razão
>>> a maneira mais simples (não necessariamente a melhor) é somar os somase
>>> somase(dá coluna 1)+somase(dá coluna2)...."
>>>
>>> Isto mesmo! É o que eu consegui fazer até agora, mas tem que colocar
>> muita
>>> fórmula e funções. Gostaria de algo um pouco mais prático.
>>> O que seria ideal é uma função, que como escrevi antes, procurasse a data
>>> específica na matriz, e quando encontrasse, me retornasse o valor
>>> correspondente na coluna das parcelas, e fosse somando esta valor cada
>> vez
>>> que encontrasse a correspondência.
>>>
>>>
>>> Atenciosamente,
>>>
>>> Paulo Murilo
>>> Embalagens Municipal
>>> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
>>> Telefone Fixo:   (41) 3263-3337
>>> Cel.WhatsApp: (41)  98403-2118
>>>
>>>
>>>
>>> Em qui, 26 de set de 2019 às 17:32, Prof Mauro Duarte <
>>> [email protected]> escreveu:
>>>
>>>> certo, tens razão
>>>> a maneira mais simples (não necessariamente a melhor) é somar os somase
>>>> somase(dá coluna 1)+somase(dá coluna2)....
>>>>
>>>> Em qui, 26 de set de 2019 às 14:29, Embalagens Municipal <
>>>> [email protected]> escreveu:
>>>>
>>>>> Creio que na SOMASES, para ela somar, todas as colunas precisam
>> coincidir
>>>>> com os critérios, e não apenas uma coluna. Ela somaria só se a data
>>>>> fosse encontrada nas dois ou mais intervalos ao mesmo tempo.
>>>>> Preciso que uma função que verifique uma matriz ou vários intervalos e
>>>>> que some todas as vezes que o critério apareça, e que some os valores
>>>>> de apenas uma coluna.
>>>>>
>>>>> Atenciosamente,
>>>>>
>>>>> Paulo Murilo
>>>>> Embalagens Municipal
>>>>> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
>>>>> Telefone Fixo:   (41) 3263-3337
>>>>> Cel.WhatsApp: (41)  98403-2118
>>>>>
>>>>>
>>>>>
>>>>> Em qui, 26 de set de 2019 às 14:10, Embalagens Municipal <
>>>>> [email protected]> escreveu:
>>>>>
>>>>>> Então, eu também tinha pensado em usar esta função, mas à partir da
>>>>>> segunda coluna ela parece não funcionar corretamente, resultando numa
>> soma
>>>>>> 0.
>>>>>>
>>>>>> Atenciosamente,
>>>>>>
>>>>>> Paulo Murilo
>>>>>> Embalagens Municipal
>>>>>> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
>>>>>> Telefone Fixo:   (41) 3263-3337
>>>>>> Cel.WhatsApp: (41)  98403-2118
>>>>>>
>>>>>>
>>>>>>
>>>>>> Em qui, 26 de set de 2019 às 12:52, Prof Mauro Duarte <
>>>>>> [email protected]> escreveu:
>>>>>>
>>>>>>> vais ter que usar =SOMASES(coluna valores;coluna data 1;data;coluna
>>>>>>> data 2;data;coluna data 3;data ....
>>>>>>>
>>>>>>> Em qui, 26 de set de 2019 às 09:49, Embalagens Municipal <
>>>>>>> [email protected]> escreveu:
>>>>>>>
>>>>>>>> Isto. Porque estas datas são as datas de cada parcelamento. Conforme
>>>>>>>> as condições de parcelamento, que coloquei inicialmente em até 6
>> vezes,
>>>>>>>> então a matriz ficou com 6 colunas. E estas células serão
>> preenchidas com
>>>>>>>> as datas de acordo com os parcelamentos.
>>>>>>>>
>>>>>>>> Atenciosamente,
>>>>>>>>
>>>>>>>> Paulo Murilo
>>>>>>>> Embalagens Municipal
>>>>>>>> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
>>>>>>>> Telefone Fixo:   (41) 3263-3337
>>>>>>>> Cel.WhatsApp: (41)  98403-2118
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Em qui, 26 de set de 2019 às 09:44, Prof Mauro Duarte <
>>>>>>>> [email protected]> escreveu:
>>>>>>>>
>>>>>>>>> tu tens datas em colunas diferentes, isso?
>>>>>>>>>
>>>>>>>>> Em qui, 26 de set de 2019 às 09:21, Embalagens Municipal <
>>>>>>>>> [email protected]> escreveu:
>>>>>>>>>
>>>>>>>>>> Olá pessoal. Tenho agora uma seguinte dúvida. Qual é o jeito
>> melhor
>>>>>>>>>> e mais
>>>>>>>>>> fácil de se somar valores de acordo com uma condição?
>>>>>>>>>> Tenho uma tabela que consiste numa coluna base (um índice) e logo
>> ao
>>>>>>>>>> lado
>>>>>>>>>> desta coluna tenho uma matriz com o mesmo numero de linhas. A
>> matriz
>>>>>>>>>> apresenta datas de parcelamento e a coluna o valor da parcela.
>>>>>>>>>> Preciso efetuar uma conferência em todas as células da matriz para
>>>>>>>>>> encontrar uma data específica, e se ela for encontrada, somar o
>> valor
>>>>>>>>>> correspondente da coluna de parcelas.
>>>>>>>>>>
>>>>>>>>>> Estou tentando usar a função SOMASE, que parece funcionar apenas
>> na
>>>>>>>>>> primeira coluna da matriz, já quando ele encontra a data a ser
>>>>>>>>>> conferida
>>>>>>>>>> nas outras colunas, a soma resultante é bem diferente. Alguém tem
>>>>>>>>>> uma ideia
>>>>>>>>>> melhor ou como corrigir isto?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Atenciosamente,
>>>>>>>>>>
>>>>>>>>>> Paulo Murilo
>>>>>>>>>> Embalagens Municipal
>>>>>>>>>> Mercado Municipal de Curitiba Boxes: 70,71 e 72.
>>>>>>>>>> Telefone Fixo:   (41) 3263-3337
>>>>>>>>>> Cel.WhatsApp: (41)  98403-2118
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Você está recebendo e-mails da lista
>> [email protected]
>>>>>>>>>> # Informações sobre os comandos disponíveis (em inglês):
>>>>>>>>>>    mande e-mail vazio para
>> [email protected]
>>>>>>>>>> # Cancelar sua assinatura: mande e-mail vazio para:
>>>>>>>>>>    [email protected]
>>>>>>>>>> # Arquivo de mensagens:
>>>>>>>>>> https://listarchives.libreoffice.org/pt-br/usuarios/
>>>>>>>>>>
>>
>> --
>> Você está recebendo e-mails da lista [email protected]
>> # Informações sobre os comandos disponíveis (em inglês):
>>   mande e-mail vazio para [email protected]
>> # Cancelar sua assinatura: mande e-mail vazio para:
>>   [email protected]
>> # Arquivo de mensagens:
>> https://listarchives.libreoffice.org/pt-br/usuarios/
>>
> 

-- 
Olivier Hallot
LibreOffice Documentation Coordinator
Comunidade LibreOffice
Rio de Janeiro - Brasil - Local Time: UTC-03:00
http://tdf.io/joinus

-- 
Você está recebendo e-mails da lista [email protected]
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para [email protected]
# Cancelar sua assinatura: mande e-mail vazio para:
  [email protected]
# Arquivo de mensagens: https://listarchives.libreoffice.org/pt-br/usuarios/

Responder a