Busca em uma tabela com dois valores de entrada e o valor de saída está na Linha 1


#1

Busca em uma tabela, com dois valores de entrada e o valor de saída está obrigatoriamente na primeira linha:
(Tabela 4x4)
Os valores a serem encontrados estão na linha 1 (colunas B, C, D)
Com o Primeiro valor de entrada, deve ser feito a busca ao longo da coluna A, nas linhas 2,3,4. Encontrando a linha “X” (x variando de 2 a 4)
Com segundo valor de entrada, após encontrada a linha “X”, deve ser feito uma busca com esse valor ao longo da linha “X”. Encontrado o valor posicionado na coluna “Y” (Y variando de B a D”
A resposta do problema deve estar n Linha 1 Coluna Y.

Linha X - posição a ser encontrada na primeira coluna da planilha com o 1º valor de entrada
Coluna Y - posição a ser encontrada ao longo da Linha X com o 2º Valor de entrada

Resposta - Linha 1 Coluna Y.

Como faço pra combinar fórmulas para que deixar a planilha automatiza?
Obrigado


#2

Poste uma planilha com um exemplo prático. De preferencia com o resultado esperado nela.


#3


#4

@gustavotonelli, criei uma função para isso, mande um e-mail para exlplanilhas@gmail.com para conversarmos.


#5
     A          B            C            D     

L1 0,025 0,050 0,075
L2 100 0,0001 0,0002 0,0006
L3 150 0,0002 0,0007 0,0017
L4 200 0,0004 0,0016 0,0037

Buscar o valor de 150 na Coluna A e o Valor 0,0002 para 150 ao longo da dessa linha
A resposta será dada pelos valões na L1, nesse caso 0,025
Outro Exemplo: Coluna A: 200, 2º valor 0,0037 – Resposta: 0,075 (linha 1)
Outro Exemplo: Coluna A: 100, 2ª valor 0,0002 – Resposta 0,050 (linha 1)


#6

@gustavotonelli, o código de função que utilizei foi o seguinte:

Public Function Busca(ByVal X As Single, ByVal Y As Single) As Single
    Dim Lin As Byte
    Dim Col As Byte
    
    For Lin = 2 To 6
        If X = Cells(Lin, 1).Value2 Then
            Exit For
        End If
    Next Lin
    
    For Col = 2 To 6
        If Y = Cells(Lin, Col).Value2 Then
            Exit For
        End If
    Next Col
    
    Busca = Cells(1, Col).Value2
End Function 

Segue arquivo: Gustavo.xlsm (14,3 KB)


#7

Bom dia. Baseado na planilha do colega @xavier,Segue minha contribuição:

=INDIRETO(ENDEREÇO(1;CORRESP($A$11;INDIRETO("A" & CORRESP($A$10;$A$1:$A$6;0) & ":F" & CORRESP($A$10;$A$1:$A$6;0);1);0);1;1))

Gustavo.xlsm (14,0 KB)