1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Fórmula de Excel - ajuda

Discussão em 'Windows 7 e anteriores' iniciada por tiagopassos, 6 de Agosto de 2009. (Respostas: 7; Visualizações: 1410)

  1. tiagopassos

    tiagopassos Power Member

    Boas,

    O problema é o seguinte:

    Tenho a seguinte tabela numa folha excel:

    Marca -- Modelo -- Código
    VW ---- Polo ------ A15
    VW ---- Golf ------ A16
    Fiat ---- 600 ------ B20

    Pretendia uma fórmula que ao preencher a Marca e o Modelo me desse o código correspondente.

    Marca: VW
    Modelo: Golf

    --> Código: A16

    Espero ter sido claro na exposição do problema. Precisava mesmo de alguma ajuda.

    Desde já obrigado
     
    Última edição: 6 de Agosto de 2009
  2. Hugus

    Hugus Power Member

    Tive a experimentar e a função procv() é melhor

    fica algo assim =procv("valor a procurar";"tabela";"indice da coluna")
     
    Última edição: 6 de Agosto de 2009
  3. jcsc

    jcsc Power Member

    coluna A - marcas
    coluna B - modelos

    coluna C- =CONCATENAR(G5;H5)
    coluna G- =SE(A5="vw";"a";SE(A5="fiat";"b";SE(A5="fiat";"c")))
    coluna H- =SE(B5="polo";"15";SE(B5="golf";"16";SE(B5=600;"20")))

    è um bocado martelado mas funciona, depois de perceberes a logica é ires acrescentando as marcas e modelos e referencias, nos modelos em que sao apenas numero nao colocar as aspas.
     
  4. Hugus

    Hugus Power Member

    ----A----- B ------C
    1 Marca Modelo Codigo
    2 vw ---polo ----a10
    3 vw ---golg ----a25
    4 vw ---vento ---a30
    5 ford ---fiesta --f10
    6 ford ---escort-- f11
    7 fiat--- bravo ---d40
    8 fiat ---brava ---d50
    9 fiat ----600 ----d60
    10 renault -clio ----r10


    supoe que tens na celula F12 a marca; na celula F13 o modelo e queres preencher automaticamente o codigo na celula F14
    A formula vai ficar assim: =PROCV(F13;B1:C10;2;0)

    onde F13 é o modelo que procuras (a marca não interessa, pois um modelo só pode pertencer a uma marca especifica, por exemplo, clio só a renault é que tem o clio, Bravo só a Fiat é que tem esse modelo, entendes?)

    B1:C10 é a tabela que vai deixar de fora as marcas pela razão que te expliquei, alem disso a formula começa a procurar no primeiro elemento da matriz, como o primeiro elemento são as marcas, vamos dizer que o primeiro elemento começa nos modelos;

    o 2 é o índice da coluna de onde queres retirar os valores.

    Espero que tenhas compreendido.
     
  5. tiagopassos

    tiagopassos Power Member

    No meu caso tenho demasiadas linhas para estar a fazer fórmulas para cada célula. Mas parece-me que esta fórmula funciona bem para poucas linhas de busca. ;)







    Hugus, de facto a fórmula é perfeita no caso de o modelo não se repetir.

    Mas imagina que em vez de "Modelo" tens "Côr", e que esta se pode repetir entre marcas.

    Marca --- Cor ----- Código
    VW ----- Azul ----- 001
    VW ----- Vermelho -002
    Fiat ---- Azul ------003
    Fiat ---- Vermelho-- 045

    Marca: VW
    Cor: Vermelho
    Código >>>>>> 002

    Neste caso, sabes que fórmula utlizar?

    Obrigado
     
  6. Hugus

    Hugus Power Member

    -----A-------B---------C
    1---Marca....Cor........Codigo
    2----vw----azul--------a1
    3----vw----vermelho---a2
    4----fiat----azul--------a3
    5----fiat----vermelho.....a4


    supõeque tens na célula E7 a marca; na célula E8 a cor e queres preencher automaticamente o codigo na celula E9
    A formula vai ficar assim na célula E9: =ÍNDICE(C2:C5;CORRESP(E7&E8;A2:A5&B2:B5;0))

    Agora uma coisa muito importante, sem a qual a formula não funciona, depois de teres a formula escrita vai-te dar um erro #Valor! fazes o seguinte, seleciona a celula que tem a fórmula e carregas no F2 (has-de reparar que a tabela e as celulas E7 e E8 ficaram seleccionadas), depois carregas simultaneamente na tecla Ctrl Shift Enter e has-de reparar que a formula ficou assim {=ÍNDICE(C2:C5;CORRESP(E7&E8;A2:A5&B2:B5;0))} isto significa que é uma fórmula de matriz, para trabalhar com matrizes.

    Também funciona com a formula procv() utilizando +/- a mesma notação, só que ainda não descobri onde estou a falhar.

    Qualquer coisa que não perceberes diz.
     
  7. tiagopassos

    tiagopassos Power Member

    hugus, és grande. Muito obrigado.
     
  8. Hugus

    Hugus Power Member

    Não sou assim tão grande, só tenho 1,75 de altura ehehehhehe

    Sempre às ordens, quando precisares de alguma coisa, no que souber, ajudo com todo o gosto.
     

Partilhar esta Página