PplWare Mobile

Dicas do Microsoft Excel é ao Domingo…no Pplware – 7

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Valquiria says:

    Agora a parte difícil: a célula não devolver o erro “N/D”, como é que faço?

    • rom_c says:

      Boas!
      Não sei se a questão é um desafio ou se não sabe mesmo como fazer…
      Primeiro testei se havia nomes associados ao id que queremos. Caso não haja nomes associados retorna a seguinte mensagem “Não existe nenhum nome associado a esta entrada”.
      No caso de haver um nome associado, utilizei a função SE.ERRO (função apenas disponível a partir do Excel 2007 e que julgo que em inglês se designe por IFERROR) para determinar que caso seja devolvido o “N/D” colocar uma mensagem diferente “Ainda não existe essa número de entrada”

      =SE(SE.ERRO(PROCV(B14;A2:B12;2;FALSO);“Ainda não existe essa número de entrada”)=0;”Não existe nenhum nome associado a esta entrada”;SE.ERRO(PROCV(B14;A2:B12;2;FALSO);“Ainda não existe essa número de entrada”))

      Espero ter ajudado ou respondido ao seu desafio 😉

      • Paulo Correia says:

        Para esta fórmula utiliza antes o ISNA(), porque o iserror() é mais abranjente e pode esconder outro tipo de erros.

        • rom_c says:

          Bem, optei por utilizar o IFERROR e depois o ISERR pois pareceu-me que os erros que poderiam surgir eram os que eu contornei, ou seja, o haver ou não haver id e o facto de haver ou não associação de um nome ao id.

          De qualquer forma, obrigado pelo feedback. Desconhecia o ISNA

          • Paulo Correia says:

            Não dá o mesmo resultado porque o isna apenas é activado se não encontrar o que procura, enquanto o iserr() é activado quando encontre qualquer tipo de erro.

            Se ouver erros na coluna de pesquisa, ambos têm o mesmo comportamento, mas se houver erros nas coluna a retorna (a coluna no 3º argumento), as coisas mudam de figura

            Imagina que tens uma base onde numa das colunas tens fórmulas e algumas dão erro, tipo #div/0. Se mandares retornar os valores dessa coluna, tens comportamentos diferentes

            Se usares o iserror() ele detecta um erro (porque o valor a retornar é um erro) e tem como resultado o teu “Ainda não existe essa número de entrada”

            Se usares o isna() retorna o DIV/0 e sabes que há problemas na base.

            Tens aqui um pequeno exemplo das diferenças de comportamento: http://bit.ly/zegRcy

            Outra diferença é se pedires uma coluna fora do bloco, isto é, defines 5 colunas e pedes a 10ª

      • rom_c says:

        Aquela fórmula ainda me retornava erros.
        Esta agora já me parece bem.

        =SE(É.ERRO(PROCV(B14;A2:B12;2;FALSO));”Não existe esse id”;SE(PROCV(B14;A2:B12;2;FALSO)=0;”Não existe nenhum nome associado a esse id”;PROCV(B14;A2:B12;2;FALSO)))

      • Valquiria says:

        Não era desafio, tenho vários livros de excel em que uso o procv e precisava que não aparecesse o N/D. A função se.erro segundo certos sites de referência para formulas de excel, não é abrangente, indicando a função isna, que eu até hoje não consegui traduzir, mas finalmente descobri a tradução para as formulas em PT-PT, ficando qualquer coisa assim:
        {=SE(É.NÃO.DISP(PROCV(B12;A5:C8;2;FALSO));””;(PROCV(B12;A5:C8;2;FALSO))} . Entre as aspas pode-se também personalizar a mensagem de alerta. De qualquer maneira obrigada pela dica.

  2. Tactos says:

    Existe 2 ted na lista, neste caso da para colocar as varias ida que ele tem?

    • rom_c says:

      Utilizando VBA era fácil, mas utilizando funções, não me ocorre nenhuma ideia de como percorrer uma coluna de alto a baixo procurando os nomes. É fácil determinar quantos nomes se repetem de acordo com o nome que for introduzido numa célula.
      Ah, aqui o processo deveria ser completamente diferente, pois temos de procurar os nomes, não os id.

    • João Pinto says:

      Existem 2 Ted na lista mas estamos a procurar o ID único 1004, não pelo nome.

  3. fiendmost says:

    OFF:

    recebi agora minha conta no PINTEREST e notei que o botão de PIN do PPLWARE não está funcionando, tenho que copiar e colar diretamente a URL para que consiga dar um Pin nos tópicos.

  4. Paulo Correia says:

    Quando se utiliza a fórmula com o argumento “Verdadeiro” ou sem o 4ª argumento o que vai dar ao mesmo, a tabelatêm de estar ordenada, porque a fórmula retorna o valor mais aproximado mas anterior.

    Se a tabela tiver

    100 – Primeiro
    200 – Terceiro
    150 – Segundo

    e pesquisarem por 160, ela retorna “Primero” se estiver como o exemplo e “Segundo” se estiver ordenada.

    Esta fórmula é muito poderosa mas muito perigosa, porque funciona apenas com os 3 primeiros argumentos e nesse caso a pesquisa é aproximada e os resultado podem ser muito diferentes. Deve ser sempre utilizado o 4º argumento.

  5. Pedro A. says:

    Já agora podem por 0 no último argumento em vez de Falso que é a mesma coisa mas mais rápido de escrever.

  6. R@lf says:

    Já utilizo esta fórmula há bastante tempo, pois é muito eficaz para uma procura rápida num indíce que não se repita.
    O curioso é que a fórmula só funciona correctamente se os dados estiverem ordenados por ordem crescente.
    Se, por exemplo, os valores da coluna “ID”, estiverem por ordem decrescente, ou desordenados, a fórmula já não é eficaz.
    Ou será só comigo que isso acontece?

    • João Pinto says:

      Esta função não precisa que a lista esteja ordenada!

    • José Augusto says:

      A este proposito, transcrevo, por cópia, o conteúdo da ajuda on-line do Excel 2010 (versão portuguesa)
      PROCV localize uma correspondência exacta ou uma correspondência aproximada:
      Se procurar_intervalo for VERDADEIRO ou omitido, é devolvida uma correspondência exacta ou aproximada. Se não for encontrada uma correspondência exacta, é devolvido o valor maior seguinte que seja menor que valor_proc.
      Importante Se procurar_intervalo for VERDADEIRO ou omitido, os valores da primeira coluna da matriz_tabela têm de ser colocados por ordem ascendente; caso contrário, PROCV poderá não devolver o valor correcto.

      Para obter mais informações, consulte Ordenar dados num intervalo ou numa tabela.

      Se procurar_intervalo for FALSO, os valores na primeira coluna da matriz tabela não precisam de estar ordenados.

  7. paulo g. says:

    Aqui vai o vídeo feito em LibreOffice Calc 3.5, com as mesmas funções do M$Excel. Acrescentei mais uma coluna, para ser mais perceptível a função ProcV, uma função extra (AleatórioEntre) e uma grande dica dos comentários. Veja aqui:
    http://youtu.be/qnm1Z6MZvCU

  8. Boas!
    Há forma de procurar pelo “valor mais recente”?
    Por exemplo, tenho uma coluna de A1 e por aí abaixo, na qual vou introduzindo valores novos, mas preciso que numa determinada célula me apreça somente o valor mais recente que tenha sido introduzido nessa coluna de A1 …

    Bom Domingo!

    • ITWare2008 says:

      Amigo Daniel Santos,

      De certeza que esta dica já vai tarde mas para quem, como eu, só agora encontrou esta rubrica aqui fica uma dica para obter o resultado que pretende.
      Assumindo que vai inserir os valores a partir da célula A1 para baixo, e que na célula B1 quer que apareça o valor mais recente, na célula B1 escreva a seguinte fórmula:

      =INDIRECTO(ENDEREÇO(CONTAR.VAL($A:$A);1))

      Explicação:

      A função contar.val() conta as células não vazias no intervalo especificado;
      A função endereço(linha;coluna) devolve, em forma de texto, o endereço da célula na linha e coluna especificada. Neste caso o 1 significa coluna A, o número da linha é devolvido pela função contar.val()
      A função indirecto() devolve o conteúdo da célula cujo endereço foi especificado. Neste caso o endereço é especificado pela função endereço().

      Apesar de tardiamente espero ter ajudado.

      ITWare2008

  9. Luciana says:

    Bom dia,

    Tenho uma coluna com diversos valores, todos do tipo “letra espaço algarismo algarismo”, como exemplo: F 72, P 59, M 91, H 59…).
    Preciso de uma fórmula que me permita, numa única célula, procurar nessa coluna pelas ocorrências de “59” e que me dê como resultado “P, H”.
    Estou a usar fórmula com as funções indice com corresp, mas quando há valores repetidos – como o 59 do exemplo – a resposta é apenas o 1º encontrado – neste caso a letra P.
    Preciso de outras funções, de novos argumentos, … ?

    Grata,
    Luciana

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.