Questão Pesquisa entre vários números


Eu tenho uma mesa assim:

+-----------+-----------+------------+------------+----+
| Size from | Size till | Price From | Price Till | Product ID |
+-----------+-----------+------------+------------+----+
|        50 |        52 |       10.0 |       15.0 |  1 |
|        50 |        52 |       16.0 |       20.0 |  2 |
|        48 |        50 |       12.0 |       16.0 |  3 |
|        50 |        52 |        8.0 |        9.0 |  4 |
+-----------+-----------+------------+------------+----+

Agora na minha tabela principal eu só tenho 2 linhas: A1 = tamanho, B1 = preço, C1 = ID do produto de resultado

A1 e B1 são preenchidos por mim mesmo.

Tenho problemas para encontrar a fórmula correta para encontrar o ID do produto. Eu quero pesquisar o ID lá o tamanho é entre "Size from", "Size till" e o preço entre "Price From", "Price Till". No momento eu fiz isso com vários IF(A1=<Table2!A1 & A1=>Table2!A2 & B2 ... 

Isso funciona desde que eu não tenha mais valores, na verdade eu quero incluir mais parâmetros que resultariam em uma função muito longa. Alguma ideia ?


0


origem




Respostas:


Para a sua fórmula de pesquisa baseada em critérios de consulta é necessário, que verifica os critérios dentro do intervalo.

Para resolver o problema, usei seus dados de amostra. Confira abaixo.

enter image description here

O intervalo de dados é, A54: E57.

O intervalo de critérios é, A62: B62.

Os critérios são tamanho 49 e preço 15

Fórmula está na célula D62.

=LOOKUP(2,1/($A$54:$A$57<=A62)/($B$54:$B$57>=A62)/($C$54:$C$57<=B62)/($D$54:$D$57>=B62),($E$54:$E$57))

NB: Ajuste o intervalo de dados conforme sua necessidade.


1



Eu não tenho idéia do que o número 2 é como critério de pesquisa. Mas funciona como um charme grande obrigado. - Doomenik
Se você está falando sobre 2,1 / (A54: A57 <= A62) na fórmula, na verdade ele calcula uma matriz de # DIV / 0! 'S, já que estamos tentando corresponder 2, que é maior que qualquer um dos os valores numéricos calculados, portanto, a função LOOKUP ignora os erros e retorna o valor associado ao item numérico LAST na matriz. - Rajesh S
Então, se eu quiser combinar 3 parâmetros, eu teria que mudá-lo para 3,1/(A54:A57<=A62.... ? - Doomenik
Não, na verdade, ele verifica cada uma das comparações para um valor maior entre <= ou> =. - Rajesh S
Ok, eu acho que entendi agora. - Doomenik


Isso depende de como os valores das células na coluna A e na coluna B afetam o ID do produto. Quais características afetam o ID do produto em todos os casos?

Por exemplo, se o ID do produto for o A multiplicado por B mais uma certa constante, você poderá escrever uma fórmula como:

=$A1*$B1+42 por exemplo faz isso. Você pode clicar no canto de uma célula e arrastar para as células abaixo para copiar a fórmula para as próximas linhas. (Mais uma vez, você terá que mudar isso para atender às suas necessidades, não sei sua situação exata.) Em termos de programação, é a diferença entre fazer:

if (x == 0) y = 3;
if (x == 1) y = 4;
if (x == 2) y = 5;

... e fazendo ...

y = x + 3;

Eu não posso dar uma fórmula completa e resolver seu problema sem saber a fórmula exata, mas criar essas fórmulas (e programação) é muitas vezes sobre o reconhecimento de padrões. Não posso dar uma resposta mais específica sem informações mais específicas.


1



Sry mais claro: eu quero pesquisar o ID lá o tamanho é entre "Size from", "Size till" e o preço entre "Price From", "Price Till". - Doomenik