Obter valor de coluna adjacente no OpenOffice.org Calc

2

Estou tentando obter o valor de colunas adjacentes no OpenOffice.org Calc.

Eu tenho várias linhas, cada uma com uma coluna que deve ter seu valor incrementado em um quando uma coluna imediatamente à direita tiver um valor.

Então, eu espero ter algo assim.

1 Some content $50
2 More content $320
3 Even More    $70
4              $110

No exemplo acima, 1, 2, 3 e 4 chegam incrementando em 1, pois havia um valor à direita em pelo menos uma das duas colunas.

    
por Andre 03.07.2011 / 05:15

2 respostas

1

Qual é o problema exatamente? É uma questão de referenciar as células adjacentes ou de condicionalmente calcular os valores? Em relação às referências relativas, consulte a resposta de Eugene . Para inserir conteúdo de maneira condicional, você pode combinar a a função IF junto com a função CONCATENATE :

=IF(CONCATENATE(B1;C1) <> "";1;"")

Concatenando os resultados para uma string se uma das células concatenadas contiver um valor.

Se o conteúdo a ser inserido depender da linha acima, você terá que iniciar a tabela na segunda linha ou usar uma função diferente da segunda linha em:

=IF(CONCATENATE(B2;C2) <> "";SUM(A1;1);"")

O próximo ponto é o que fazer se, por exemplo, a oitava linha não tiver valores em B8: C8. Apenas aumentando o valor da célula acima em A9 começará novamente de 1:

Sevocêquisercontinuarcontando,vocêteráquecontarascélulasacimadaatualquenãoestãovaziasou0.Háum Função COUNTIF que faz exatamente isso. Então, sua função pode parecer com (novamente a partir da linha 2):

=IF(CONCATENATE(B2;C2) <> "";SUM(COUNTIF($A$1:A1;">0");1);"")

ou divididos em linhas diferentes e com comentários:

=IF(
    CONCATENATE(B2;C2) <> ""; # Condition to check
    SUM(                      # output if condition matches
        COUNTIF($A$1:A1;">0");# count cells from $A$1 to cell above if not 0
        1                     # augment value by 1
    );
    ""                        # output if condition doesn't match
)

Esta é a função da segunda linha; basta copiar a célula para as próximas linhas. Deve dar o seguinte resultado:

    
por 03.07.2011 / 14:45
1

Procure por "referências relativas" no arquivo de ajuda do OpenOffice. O que você precisa é de uma referência relativa.

Na primeira coluna, primeira linha, você tem 1 em $ A $ 1. Então, na segunda linha ($ A $ 2) você pode escrever "= A1 + 1". A1 é uma referência relativa - se você copiar a célula (não a fórmula, mas a própria célula) de $ A $ 2 para $ A $ 3, a nova célula receberá automaticamente a fórmula "= A2 + 1".

Também pode haver referências absolutas, que "bloqueiam" a linha ou parte da coluna da referência. Eles são realizados colocando o sinal de dólar antes da peça. Então, para bloquear a referência à coluna A, você escreveria uma fórmula como "= $ A1 + 1", enquanto para bloquear a fórmula na primeira linha, você escreveria "= A $ 1 + 1"

    
por 03.07.2011 / 07:26