Eu tenho a seguinte tabela contendo detalhes do laptop
(Laptops)
Name | RAM | CPU
===========================================
Laptop Example 1 | 4 | Intel® Core™ i3-8130U
Laptop Example 2 | 8 | Intel® Core™ i5-8250U
Laptop Example 3 | 16 | Intel® Core™ i5-8250U
Laptop Example 4 | 8 | Intel® Core™ i7-8550U
Laptop Example 5 | 8 | Intel® Core™ i5-8265U
...
Eu estava procurando criar um array usando vários critérios para simplesmente retornar o name
do laptop. Neste caso, quero retornar o nome de um laptop com 8
RAM
& a CPU
contendo i5-
.
Nesta tabela acima eu esperaria retornar
(Array)
Name
======================
Laptop Example 2
Laptop Example 5
Não tive muita experiência com fórmulas de matriz, mas consegui retornar todos os nomes de laptops com8
RAM
=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(Laptops!$B$2:$B$500=8,ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),"")
ou CPU
contendoi5-
=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(IFERROR(SEARCH("i5-", Laptops!$C$2:$C$500), 0),ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),"")
Mas não consegue combinar os dois usando a AND
função? Eu tentei...
=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(AND(Laptops!$B$2:$B$500="8",IFERROR(SEARCH("i5-", Laptops!$C$2:$C$500), 0),ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),""))
No entanto, não retorna nada. Qualquer ajuda seria muito apreciada.
Responder1
Eu usaria uma tabela dinâmica e, em seguida, filtraria a RAM e aplicaria um filtro à coluna da CPU.
Alguma ajuda para fazer issoaqui
Responder2
Minha abordagem para sua pergunta seria assim
1.- Obtenha algumas colunas auxiliares
Adicione uma coluna "Família de CPU"
=left(right(C2;8);2)
Você pode duplicar o campo Ram se quiser ver o RAM ao filtrar
=B2&"gb"
2.- Inserir Tabela Dinâmica
Selecione todo o intervalo de dados, CTRL+SHIFT+Espaço e vá em Inserir > Tabela Dinâmica
Aqui você selecionaria Ram
e CPU Family
como seus filtros, nos campos de etiqueta você adicionaria Laptop Name
eCPU
Tradução:=LEFT(RIGHT(C2;8);2)
Esta é a minha abordagem sem envolverVBA
Saúde.