![Como pegar um conjunto de valores e compará-lo com várias linhas de critérios](https://rvso.com/image/1568348/Como%20pegar%20um%20conjunto%20de%20valores%20e%20compar%C3%A1-lo%20com%20v%C3%A1rias%20linhas%20de%20crit%C3%A9rios.png)
Exemplo do que eu gostaria de alcançar:
A B C D E F
1 1 <= 2 2 1
2 2 <= 4 23 8
3 4 <= 7 5 3
4 7 <= 10 40 10
5 10 <= 12 7 3
6 12 <= 17 8 4
7 17 <= 19 12 5
Eu gostaria de pegar cada número da coluna E e determinar a qual linha A ele pertence, se o critério for que o número E seja >B e <=D (usando todo o intervalo B1:D999 que possui valores diferentes em cada linha ).
A coluna F retornaria então o número da linha A para números da coluna E.
Se todas as linhas das colunas B e D forem meus critérios como em B1<=D1, B2<=D2, B3<=D3 etc., gostaria de comparar cada número na coluna E e ver em qual intervalo eles se enquadram. O exemplo seria E6=40, esse número cai no intervalo B12<=D12 que tem um valor de 10 na linha A12). Então, eu gostaria de obter esse número da linha A na célula F6 ao lado de E6. Tenho cerca de 500 números e eles também incluem números decimais nas colunas B, D e E e a coluna A contém apenas números inteiros.
A linha A3 significa números de 1 a 2 inclusive, a linha A4 significa números maiores que 2 a 4 inclusive. Portanto, o número E3 é maior que o número na coluna B3 e menor ou igual ao número na coluna D3, portanto, ele cai no intervalo da linha 3, então o valor F é igual a A3 = 1.
Responder1
Esta é uma variação da pág.phidotabordagem. Fazer uma pesquisa na direção ascendente detecta o intervalo errado e ajustar os valores intermediários prejudica os resultados dos valores no limite do intervalo. Um MATCH normal funciona se você fizer uma pesquisa decrescente.
Classifique a tabela na coluna A, B ou D em ordem decrescente. A fórmula em F3 seria:
=INDEX(A:A,MATCH(E3,D:D,-1),)
Se houver outro conteúdo nessas colunas, faça com que o intervalo faça referência a endereços absolutos, como $A$3:$A$12 e $D$3:$D$12. Isso só precisa das colunas A e D para pesquisa, então não me preocupei em preencher o conteúdo da coluna B ou C no meu exemplo:
Se a sua coluna A for apenas um identificador de linha da tabela, e isso puder permanecer em ordem crescente, isso pode até ser simplificado. MATCH retorna o número de sequência na tabela, que corresponde à coluna A em ordem crescente, portanto a fórmula pode ser reduzida para:
=MATCH(E3,$D$3:$D$12,-1)
Observe que para que o resultado MATCH corresponda ao índice de linha da tabela da coluna A, o intervalo de pesquisa precisa ser especificado com referências absolutas.
Responder2
tente isso em F3:
=IFERROR(INDEX(A:A,MATCH(E3,D:D,0)),INDEX(A:A,MATCH(E3,D:D,1))+1)
mas acho que você terá que adicionar:
A1 ---> -1
A2 ---> 0
D1 ---> 0
D2 ---> 1
para cobrir o 'intervalo em falta'.