Correspondência de índice em 2 condicionais?

0

Dados:

insira a descrição da imagem aqui

Eu poderia usar alguma ajuda para criar uma fórmula de correspondência de índice com base em 2 itens condicionais. Para o conjunto de dados anexado, preciso configurar uma fórmula (e torná-la repetível para outras lojas e datas futuras), que obtém o número dos dados com base na data específica (9/9/15, neste caso) e para loja # 414. Neste exemplo, quero que "132" seja a resposta retornada. Espero que isso faça sentido.

Qualquer ajuda seria apreciada!

Matt
fonte
3
Até agora, você realmente não fez uma pergunta específica, apenas nos disse o que deseja. O que você já tentou? Onde você está ficando preso?
Ƭᴇcʜιᴇ007
Por que não usar ... uma tabela dinâmica?
Raystafarian #
Não consigo usar uma tabela dinâmica porque estou retirando um clipe de dados que é atualizado a cada semana e tentando adicionar valores a uma planilha existente. Eu tentei algo assim, mas minha fórmula retornará 1.000, pois está gravando o primeiro registro com base em 10/11/14. É até onde eu cheguei. = ÍNDICE ([dados do conjunto de dados], MATCH ("414", IF ([Data do conjunto de dados] = "11/9/15", 1, [Conjunto de dados - Nº de loja]), FALSO))
Matt
Já existem várias perguntas anteriores semelhantes respondidas. Uma abordagem simples é adicionar uma coluna auxiliar que concatene as duas primeiras colunas. Em seguida, concatene suas duas condições e combine com a coluna auxiliar.
fixer1234
Obrigado @ fixer1234. Não tive muito sucesso em analisar questões anteriores, mas continuarei pesquisando. Mas, obviamente, se alguém tiver alguma sugestão nesse meio tempo, eu realmente aprecio isso!
Matt

Respostas:

1

Aqui estão duas soluções, correspondentes às minhas sugestões nos comentários sobre a questão. Para ambos, estou assumindo que A1: C30 contém os dados da pergunta.

Usando uma função de banco de dados

As primeiras soluções usam as funções de banco de dados do Excel. Todas as funções do banco de dados tratam um intervalo de células como um banco de dados, onde cada linha é um registro e cada coluna é um campo. A primeira linha contém os nomes das colunas. As funções do banco de dados também usam outro intervalo de células como critério de pesquisa, onde a primeira linha é o nome da coluna e a segunda linha é o critério real. Dado que, em E1: F2 (ou em qualquer outro lugar, mas é onde eu coloquei para esses exemplos), coloque:

       E         F
 1   Store #     Date
 2       414  11/9/15

Esse é o critério. Em seguida, em E4 (ou em qualquer lugar) colocar =DGET(A1:C30,"Data",E1:F2). Que usa a DGETfunção de banco de dados para procurar o valor de uma coluna, dado um banco de dados (o A1:C30), um nome de coluna ( "Data") e critérios ( E1:F2). Nesse caso, isso resultará em 132. Alterar o conteúdo de F2 para 11/2/15alterará o DGETvalor para 55etc.

Essa talvez seja a maneira mais limpa, porque é fácil estender se você tiver colunas adicionais nos dados e critérios que deseja usar para corresponder a essas colunas. Você também pode reutilizar partes dos critérios para fazer outras coisas. Por exemplo, =DSUM(A1:C30,"Data",E1:E2)somará todos os valores de dados do armazenamento 414, =DSUM(A1:C30,"Data",F1:F2)somará todos os valores de dados de 9/11/15, etc. Também não assume nada sobre a ordem em que as colunas são classificadas. A desvantagem é que, se você não use muito as funções de banco de dados (como eu :-)), você terá que reler a ajuda sobre elas sempre que usá-las (como eu fiz para isso :-)); talvez não seja tão manutenível.

Usando fórmulas de indexação e pesquisa

A segunda maneira combina algumas das fórmulas de pesquisa do Excel.

Configure uma planilha da mesma forma que acima, os dados da pergunta em A1: C30 e os critérios em E1: F2. Observe que, neste caso, usaremos apenas E2 e F2, mas você pode deixar E1 e F1 como rótulos quanto ao conteúdo de E2: F2.

Em seguida, no E4, coloque:

 =VLOOKUP(F2,INDEX(B:B,MATCH(E2,A:A,0),1):INDEX(C:C,MATCH(E2,A:A,1),1),2)

Quebrando isso de dentro para fora:

MATCH(E2,A:A,0)

Que localiza a primeira correspondência (the 0) na primeira coluna ( A:A) que corresponde ao número da loja em E2. Ele retorna a posição relativa e, neste caso, porque toda a primeira coluna é a matriz de pesquisa, a posição será o número da linha da primeira ocorrência do número da loja no E2. Com os dados de exemplo, se você colocar isso em uma célula por si só, ele terá um valor de 7.

INDEX(B:B,MATCH(E2,A:A,0),1)

Isso gera uma referência a uma célula na segunda coluna ( B:B) na linha determinada pela MATCHcoluna e 1. Se você colocar isso sozinho em uma célula, o valor será o valor da célula referenciada, que, com o exemplo, será o valor de B7 ou 11/10/14.

MATCH(E2,A:A,1)

Ele encontra a última correspondência (the 1) na primeira coluna que corresponde ao número da loja. Se colocar isso em uma célula por si só, o valor será 25.

INDEX(C:C,MATCH(E2,A:A,1),1)

Isso gera uma referência a uma célula na terceira coluna ( C:C) na linha determinada pela MATCHcoluna e 1. Se você colocar isso sozinho em uma célula, o valor será o valor da célula referenciada, que, com o exemplo, será o valor de C25, ou 132.

INDEX(B:B,MATCH(E2,A:A,0),1):INDEX(C:C,MATCH(E2,A:A,1),1)

Isso combina as duas INDEXfórmulas para gerar uma referência para procurar a data. Com os dados de exemplo, será B7: C25 (se você o colocar em uma célula por si só, receberá um #VALUE!porque resulta em mais de um valor. Se você o colocar em uma célula por si só como uma fórmula de matriz, você obterá o valor da célula superior esquerda ou 11/10/14).

=VLOOKUP(F2,INDEX(B:B,MATCH(E2,A:A,0),1):INDEX(C:C,MATCH(E2,A:A,1),1),2)

Isso combina tudo. Ele usa VLOOKUPpara procurar a data de F2, no intervalo de células gerado pelas duas INDEXfórmulas (B7: C25), e retornar a segunda coluna (a final 2) na linha correspondente.

Voilá!

blm
fonte
Essa correspondência vlookup / index funcionou perfeitamente! MUITO OBRIGADO!! Uma pergunta rápida. Se eu fosse adicionar outra coluna de dados e inseri-la na coluna "D", como minha fórmula mudaria? Parece que estou recebendo um erro ao tentar alterar em quais colunas as fórmulas pesquisam. Mais uma vez obrigado!
Matt
Deixa pra lá! Eu descobri! Alterei C: C para D: D e adicionei a pesquisa de coluna na minha segunda fórmula de correspondência de índice de 2 para 3! Voilá!
Matt
@ Matt Cool, feliz por você ter funcionado e ter conseguido estendê-lo.
blm