
Preciso fazer referência a 3 planilhas, "Remessa", "Equipamento" e "Estoque", onde a Coluna A em Remessa e a Coluna A em Equipamento referem-se ao Número do Local e o Tipo de Equipamento é designado por texto e contado em uma tabela dinâmica em "Inventário". Existem vários tipos de equipamentos associados a cada número de local e alguns números de local ainda não foram associados.
Em inglês simples, estou tentando dizer "SE o número do local na remessa corresponder ao número do local no equipamento E o tipo de equipamento corresponder ao inventário A9 ou o tipo de equipamento corresponder ao inventário A8, retorne o número de rastreamento na coluna K, caso contrário, retorne um valor em branco".
Minha fórmula é
=IF(AND(Equipment!A:A=Shipping!A2,OR(Equipment!C:C=Inentory!A8,Equipment!C:C=Inentory!A9)),Equipment!K:K,"").
Embora eu saiba que há um valor correto a ser retornado e, logicamente, isso deve funcionar, estou recebendo o retorno do valor falso de qualquer maneira, então sei que há uma complexidade que estou perdendo. Qualquer ajuda?
Responder1
Você tem alguns problemas aqui.
Geralmente, as fórmulas do Excel não tratam matrizes como entradas (se você apenas pressionar Enter), portanto, sua fórmula compara apenas a primeira célula de seus intervalos.
Se você inserir uma fórmula de matriz usandoctrl+shift+enterele será comparado com toda a gama, mas seuoueefunções simplificarão isso para um único verdadeiro/falso para todo o intervalo (não para cada linha individualmente).
Portanto, usando uma fórmula de matriz, você poderia usar algo assim: mas observe que as fórmulas de matriz podem ficar muito lentas se você estiver usando matrizes de colunas inteiras (já que cada uma delas contém cerca de 1 milhão de células, portanto, é muito melhor definir o intervalo.
=index(Equipment!K:K,
match(Shipping!A2,
if(((Equipment!C:C=Inentory!A8)+(Equipment!C:C=Inentory!A9))>0,Equipment!A:A,0)
,0)
)