
Eu tenho uma tabela em uma planilha chamada "DealSetup" que se parece com esta versão simplificada:
A B
1 John Doe 1
2 Jane Doe 1
3 Mark Doe 2
4 Doug Doe 1
5 Mary Doe 2
Eu tenho uma tabela em uma planilha chamada "Lista" da qual gostaria de extrair os nomes da planilha "DealSetup". No entanto, quero apenas listar os nomes com base no valor da coluna B.
Por exemplo, na planilha "Lista", eu gostaria de usar algum tipo de INDEX ou função de array de algum tipo para olhar para a planilha "DealSetup" e puxar todos cujo valor da coluna B é 1 e listá-los. Eu não quero nenhum espaço em branco, no entanto. Deveria ficar assim:
EVERYONE WITH B COLUMN VALUE OF 1:
A
1 John Doe
2 Jane Doe
3 Doug Doe
Ou assim:
EVERYONE WITH B COLUMN VALUE OF 2:
A
1 Mark Doe
2 Mary Doe
Tenho tentado algumas coisas sem sorte. Não tenho certeza para onde ir a partir daqui, então qualquer contribuição será apreciada!!
Responder1
Supondo que seus dados estejam disponíveis, DealSetup!A$2:B$6
você pode usar esta fórmula emList!A2
=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1),ROWS(A$2:A2))),"")
confirme com CTRL+ SHIFT+ ENTERe copie até onde for necessário e mais adiante. Quando você fica sem nomes, fica em branco.
Assume critérios (1,2 etc.) emC1
ver anexopasta de trabalho- tente mudar C1
para 2
Se os nomes se repetirem (dentro dos critérios especificados), você os repetirá - a fórmula pode ser ajustada para mostrar cada nome apenas uma vez, ou seja, esta versão
=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,IF(COUNTIF(A$1:A1,DealSetup!A$2:A$6)=0,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1)),1)),"")
Responder2
Se você quiser uma solução com fórmulas, terá espaços em branco na parte inferior. Não há como fazer com que as células que contêm a fórmula aumentem e diminuam conforme sua lista muda. Sua tabela com fórmulas deve ter a mesma altura que seus dados brutos para garantir que você não perca nada se, digamos, todo mundo tiver uma 1
coluna in B
. Se você sabe que isso nunca acontecerá, poderá reduzir o número de linhas na List
planilha, mas é um risco. Aqui está uma fórmula que retornará todos eles em ordem, com espaços em branco na parte inferior. É uma fórmula de matriz, então insira-a com Ctrl+ Shift+ Enter: (Barry Houdini já enviou uma solução semelhante)
{=IFERROR(INDEX(DealSetup!$A:$A,SMALL(IF(DealSetup!$B:$B=1,ROW(DealSetup!$B:$B)),ROW())),"")}
Se você não puder aceitar espaços em branco na parte inferior, terá que ser uma solução de tabela dinâmica ou VBA. Esta questão é bastante antiga, então não espero ver o OP de volta aqui tão cedo, infelizmente.