Como pegar um conjunto de valores e compará-lo com várias linhas de critérios

Como pegar um conjunto de valores e compará-lo com várias linhas de critérios

Exemplo do que eu gostaria de alcançar:

exemplo

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:

insira a descrição da imagem aqui

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)

insira a descrição da imagem aqui

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'.

informação relacionada