Haz tu Pregunta

perfil de Elder Marco - actividad

2015-06-05 00:23:15 +0200 recibió una medalla  Pregunta Famosa (fuente)
2014-07-25 00:13:29 +0200 recibió una medalla  Buena Respuesta (fuente)
2014-07-24 16:01:05 +0200 recibió una medalla  Autodidacta (fuente)
2014-07-24 16:01:05 +0200 recibió una medalla  Profesor (fuente)
2014-07-24 13:04:51 +0200 recibió una medalla  Pregunta Notable (fuente)
2014-07-23 12:37:24 +0200 comentar respuesta Calc: Corrigir considerando datas

Olá Gilberto,

Obrigado pela resposta. Tanto a tabela de preço quanto a tabela de correção tem o problema de serem dinâmicas, isto é, novos valores vão sendo adicionados a elas. Eu havia pensado em algo do tipo que você fez, mas pensando se existiria alguma maneira de estender automaticamente essas fórmulas de modo a considerar os novos valores adicionados. Também pensei que o LibreOffice poderia ter alguma função financeira do tipo que eu não me dei conta que exista, mas eu acho que não.

2014-07-22 17:43:43 +0200 recibió una medalla  Pregunta Popular (fuente)
2014-07-22 17:41:44 +0200 respondió a una pregunta Calc: Corrigir considerando datas

Vou responder a minha própria pergunta com uma pequena macro que escrevi para resolver esse problema. Nada sofisticado, mas pode ser melhorado.

Function FatorCorrecaoPreco (data_compra As Date, tabela_correcao As Variant)

    ' Procura por todos os eventos cuja data ex seja posterior a data de
    ' compra e monta o fator de correção a partir disso.
    FatorCorrecaoPreco = 1.0
    For i = 1 To ubound (tabela_correcao)
        If data_compra < tabela_correcao (i, 1) Then
            FatorCorrecaoPreco = FatorCorrecaoPreco*tabela_correcao (i, 2)
        End If
    Next i
End Function

Onde os argumentos são a data de compra, um único valor. E um array com a tabela de correção, como a que coloquei na pergunta (primeira coluna com a data a partir da qual se aplica a correção e a segunda com a correção. Daí, por exemplo, para calcular o preço corrigido para o primeiro caso (14/01/2014 , com preço de R$ 15,24), poderíamos fazer algo do tipo

=B1*FATORCORRECAOPRECO(A1; $C$1:$D$5)

Em que B1 = R$ 15,24 e o intervalo C1:D5 corresponde a tabela de correção.

Fica então a dica para o caso de alguém precisar de algo do tipo e cair nesse tópico. :)

2014-07-19 17:59:49 +0200 recibió una medalla  Pregunta Famosa (fuente)
2014-07-18 18:26:45 +0200 realizó una pregunta Calc: Corrigir considerando datas

Olá Senhores,

Eu tenho a seguinte tabela de dados:

      DATA    PRECO
14/01/2014    15,24
15/03/2014    16,52
15/06/2014    17,58
29/07/2014    18,56
15/07/2015    11,52

Essa tabela representa a data em que comprei uma certa ação X de uma empresa e por qual valor. E a seguinte tabela é uma tabela de correção desses valores:

      DATA      CORREÇÃO
20/02/2014        0,9791
15/05/2014        0,9985
06/06/2014        0,2000
29/08/2014        0,9878
15/05/2015        2,0000

Essa tabela representa as correções que devem ser feitas aos preços de compra devido a eventos ocorridos com a ação, como o pagamento de dividendos, juros sobre capital próprio, desdobramentos, agrupamentos e etc. A segunda coluna é o valor no qual eu devo multiplicar o preço para que a correção possa ser considerada como realizada.

O problema:

O problema é que essa correção deve considerar a data em que o evento ocorreu e as correções só podem ser feitas se a compra ocorreu até a data de correção. Compras posteriores não são corrigidas porque essas correções já estão embutidas no preço da ação.

Por exemplo, para o evento que ocorreu na data 06/06/2014 na última tabela, eu tenho que aplicar ele a todas as compras que ocorreram até essa data e não se aplica as compras que ocorram depois. Assim, eu somente iria multiplicar os preços R$ 15,24 e R$ 16,52 por esse valor. Seguindo essa lógica, a primeira compra, no dia 14/01/2014 seria multiplicada por todos os fatores de correção, mas a segunda já seria multiplicada somente do segundo pra frente, no exemplo dessa tabela. O resultado final seria a tabela abaixo:

      DATA    PRECO   CORRIGIDO
14/01/2014    15,24        5,89     (=15.24*0.9791*0.9985*0.2*0.9878*2)
15/03/2014    16,52        6,52     (=16.52*0.9985*0.2*0.9878*2)
15/06/2014    17,58       34,73     (=17.58*0.9878*2)
29/07/2014    18,56       36,67     (=18.56*0.9878*2)
15/07/2015    11,52       11,52     (=11.52 porque foi comprado depois de os eventos terem ocorrido)

E foi aí que eu não consegui prosseguir. Não consegui escrever uma fórmula que faça essas correções automaticamente, a partir desses dados.

Os senhores teriam alguma pista/dica em relação a isso? Já se depararam com um problema semelhante?

2014-06-14 03:38:18 +0200 recibió una medalla  Pregunta Famosa (fuente)
2014-04-28 19:35:29 +0200 recibió una medalla  Pregunta Notable (fuente)
2014-04-28 19:35:29 +0200 recibió una medalla  Pregunta Popular (fuente)
2014-04-15 17:24:39 +0200 respondió a una pregunta Google Drive no LibreOffice

Uma outra maneira seria salvar os arquivos em um diretório que fosse sincronizado com a sua conta do Google Drive também, creio.

2014-04-15 00:26:26 +0200 recibió una medalla  Editor (fuente)
2014-04-15 00:24:27 +0200 realizó una pregunta Multiplicação condicional

Olá pessoal,

Tenho uma tabela no Calc que é utilizada para gerenciamento de capital, associado com a compra a venda de ações. Alguns eventos com ações requer que se façam certas correções nos preços dessas ações ou no número de ações que o acionista possui. A tabela a seguir é um exemplo:

Exemplo de tabela com dados para correção

Obs: Parece que em alguns lugares a imagem não é mostrada adequadamente. Eis o link dela: http://i.imgur.com/t5gJHm0.png

Essa correção é uma função da data. Assim, por exemplo, para as ações compradas depois antes do dia 19/02/2009, irão aplicar somente as correções devidas aos eventos depois dessa data e qualquer outro evento que tenha ocorrido antes (23/04/2009, por exemplo) não irá entrar nos cálculos.

A correção devida a cada evento é calculada linha a linha na tabela e os eventos antes da data especificada são ignorados. No presente caso, utilizei uma função chamado SOMARPRODUTO, que me permite especificar uma condição e operar com cada uma das linhas, conforme mostrado na fórnula. O problema é que eu não quero somar as correções e sim multiplicá-las. A fução MULT não tem a mesma flexibilidade da função SOMARPRODUTO e ainda existe o problema de que alguns termos serão 0 (zero), devido a condição colocada nessa função. No caso dela não há problemas porrque zero + valor = valor. Mas no caso de uma multiplicação, teremos zero*valor = zero.

Alguém teria alguma sugestão para resolver esse problema sem que eu tenha que recorrer a crianção de uma nova função para fazê-lo? Não consegui encontrar uma função que o faça e nem encontrei uma maneira de contornar isso.

2014-03-29 23:43:04 +0200 recibió una medalla  Entusiasta
2014-03-29 18:08:30 +0200 recibió una medalla  Pregunta Famosa (fuente)
2014-03-29 17:55:51 +0200 recibió una medalla  Pregunta Notable (fuente)
2014-03-28 13:24:59 +0200 recibió una medalla  Escolar (fuente)
2014-03-28 13:24:59 +0200 recibió una medalla  Ayudante (fuente)
2014-03-28 13:24:49 +0200 comentar respuesta Como referenciar uma planilha a partir de uma célula?

Ah, bacana! Era essa a ideia Olivier, obrigado!

2014-03-21 22:40:21 +0200 comentar respuesta Operar com valores em banco de dados no Calc

Opa, obrigado!

Eu até consegui atualizar os dados que havia colado no Calc, mas os dados presentes no banco me são úteis apenas para fazer os cálculos necessários e não para serem visualizados. Seriam muitas tabelas que fariam uma baita bagunça nas minhas planilhas.

2014-03-21 15:37:46 +0200 recibió una medalla  Pregunta Popular (fuente)
2014-03-21 15:10:45 +0200 recibió una medalla  Estudiante (fuente)
2014-03-21 13:59:48 +0200 recibió una medalla  Pregunta Notable (fuente)
2014-03-20 00:07:52 +0200 realizó una pregunta Operar com valores em banco de dados no Calc

Olá pessoal,

Tenho várias tabelas no Base e gostaria de acessar os seus valores no Calc. Mas não criar uma tabela com esses valores, e sim realizar operações matemáticas com os mesmos e colocar o resultado em células do Base. Por exemplo, tenho um campo chamado PrecoCompra, do qual eu gostaria de efetuar a soma e deixar em uma determinada célula. É possível fazer isso? Procurando pela internet, não consegui encontrar algo a respeito e manual do Base aborda a integração com o Calc de maneira muito superficial. Vocês teriam algum material para me indicar a respeito?

2014-03-19 23:55:38 +0200 comentar respuesta Como referenciar uma planilha a partir de uma célula?

Olá Beto, obrigado pela resposta!

Mas haverá momentos também em que irei abandonar a planilha e iniciar uma outra nova. Eu gostaria que apenas trocando o campo com o nome da planilha, eu já pudesse resolver tudo. Nesse caso, eu teria que alterar a fórmula se isso não for possível. Daí a minha necessidade em tentar automatizar o procedimento ao máximo possível.

2014-03-19 23:49:58 +0200 recibió una medalla  Pregunta Popular (fuente)
2014-03-18 21:51:17 +0200 realizó una pregunta Como referenciar uma planilha a partir de uma célula?

Olá,

Estou com o seguinte problema. Tenho várias planilhas criadas em um documento do Calc. E uma outra planilha que tem o objetivo de resumir com resultados os dados presentes nessas planilhas em uma única tabela. Assim, por exemplo, para gostaria de calcular a média de todos os valores num dado intervalo de colunas da planilha XYZ e colocar esse valor em uma célula de outra planilha, no mesmo documento. Eu poderia fazer:

= MÉDIA(XYZ.E9:E18)

No entanto, se eu mudar o nome da planilha por algum motivo, terei que alterar a fórmula também e algumas são mais complicadas. O nome de cada planilha é colocada em uma célula dentro dessa planilha onde quero salvar os valor médio e gostaria de referenciar essa célula, por esse valor. Seria algo do tipo (que não funciona)

= MÉDIA(C10.E9:E18)

Onde o nome da planilha estaria na célula C10.

Há alguma maneira de fazer isso? Não consegui encontrar uma forma de fazê-lo em minhas pesquisas