1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. A secção Microsoft/Windows encontra-se actualmente em processo de reestruturação.
    Remover anúncio

formula excel

Discussão em 'Microsoft: Discussão Geral' iniciada por v0rtex, 15 de Novembro de 2016. (Respostas: 14; Visualizações: 571)

  1. v0rtex

    v0rtex Power Member

    amigos,

    Precisava da vossa ajuda.

    Preciso encontrar uma formula no excel para aplicar taxas automáticas numa tabela.

    Exemplo:

    dados: 5,10,15,20

    taxas: 1%, 2%, 5%, 10%, 15%

    se o valor for =< 5 aplicar taxa de 15%
    se o valor for =>6 e <10 aplicar taxa de 10%
    se o valor for =>10 e <15 aplicar taxa de 5%
    se o valor for =>15 e <20 aplicar taxa de 2%
    se o valor for =>20 aplicar taxa de 1%
     
  2. JMCM

    JMCM Power Member

    Deves utilizar a função SE aninhada:

    Para valores nas células A1, A2, A3,....podes colocar a seguinte fórmula nas células B1, B2, B3,...
    =SE(A1<=5;A1*0,15;SE(A1<10;A1*0,1;SE(A1<15;A1*0,05;SE(A1<20;A1*0,02;A1*0,01))))
     
    Última edição: 15 de Novembro de 2016
  3. v0rtex

    v0rtex Power Member

    encontrei a formula Se(e(

    =SE(B2<200;0%*B2;SE(E(B2>=200;B2<450);5%*B2;SE(E(B2>=450;B2<850);10%*B2;SE(E(B2>=850;B2<2000);15%*B2;20%*B2))))

    mas deparo-me com duas limitações:

    1 - não consigo fazer a mais que 4 se(e(, pois ao quinto se meter a célula, exemplo B2 ele já nem reconhece aquela célula como sendo de dados e não a coloca em "azul"

    2 - Como reproduzo esta formula para as outras celulos, o tipico arrastar para copiar a formula e aplicar automaticamente às outras células abaixo
     
  4. JMCM

    JMCM Power Member

    Neste caso específico não necessitas da função condicional E.
    No exemplo que dei acima só precisas de arrastar a célula B1 para a direita para copiar para as restantes células.
     
  5. VascoGomes

    VascoGomes Power Member

    Segue o concelho do @JMCM.

    Repara que:

    Quando dizes na primeira parcela que B2 tem de ser menor que 200 ele vai aplicar a solução pedida, neste caso (0%*B2) se B2 não for menor que 200 ele passa para a próxima condição em que B2 tem de ser menor que 450. Ora se já disseste que ele tinha de ser menor que 200 para aplicar a condição anterior estás a ser redundante quando dizer que B2 tem de estar entre 200 e 450. Espero que me tenha feito entender. A tua fórmula corrigida seria algo como:

    =SE(B2<200;0%*B2;SE(B2<450;5%*B2;SE(B2<850;10%*B2;SE(B2<2000;15%*B2;20%*B2))))


    Que versão do Excel estás a usar? A partir do 2007 ele já aceita 64 funções IF aninhadas: https://support.office.com/pt-pt/ar...755-a9bc-aa8bbff73be2?ui=pt-PT&rs=pt-PT&ad=PT
     
  6. bring_it_on

    bring_it_on Power Member

    Partindo do pressuposto que queres multiplicar a taxa por um valor qualquer, e assumindo que esse valor está na sheet2, célula A1:

    cria um apoio com:
    Coluna A - 100; 20; 15; 10; 5
    Coluna B- 1%; 2%; 5%; 10%; 15%

    Depois fazes =Sheet2!'A1*Index($B$1:$B$5;Match(sheet2!'A1;$A$1:$A$5;-1))

    Edit: corrigida a primeira coluna
     
    Última edição: 16 de Novembro de 2016
  7. JMCM

    JMCM Power Member

    Não, isso não serve. Ele quer que uma determinada taxa seja aplicada a um valor em função do valor.
    A função CORRESP (ou MATCH para a versão inglesa) funciona quando se procura valores numa referência ou uma matriz.
     
    Última edição: 16 de Novembro de 2016
  8. bring_it_on

    bring_it_on Power Member

    E porque é que não serve? As taxas já não estão definidas?
     
  9. JMCM

    JMCM Power Member

    Porque não são para valores fixos mas sim intervalos de valores. Como aplicas por exemplo para 21; 16; 11; 7; 4 ?
     
  10. bring_it_on

    bring_it_on Power Member

    Mas pelo menos experimentaste a fórmula acima?
     
  11. JMCM

    JMCM Power Member

    Só funciona para aqueles valores que colocaste na matriz e isso não resolve o problema.
     
  12. bring_it_on

    bring_it_on Power Member

    Está corrigida a primeira coluna. Testa agora. E funciona para qualquer valor intermédio.
     
  13. JMCM

    JMCM Power Member

    e para 101? continuas limitado pela matriz.
     
  14. bring_it_on

    bring_it_on Power Member

    E trocar o 100 por 1000 ou 1M não resolve o problema?
    Acho que quem colocou a dúvida consegue definir um intervalo razoável e não fica limitado a 64 funções (nem à trabalheira de as estar a inserir...).
     
  15. JMCM

    JMCM Power Member

    Este é um problema clássico de uma condição SE. A fórmula em si é relativamente simples porque o número de condições é curto no entanto é extremamente eficaz. Não tinha reparado nos valores intermédios...A solução que propuseste também funciona se quiseres impor esse limite.
     

Partilhar esta Página