Tengo la siguiente tabla que contiene detalles de la computadora portátil.
(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
...
Estaba buscando crear una matriz usando múltiples criterios para simplemente devolver el valor name
de la computadora portátil. En este caso quiero devolver el nombre de una computadora portátil que contiene 8
RAM
& a .CPU
i5-
En esta tabla anterior esperaría regresar
(Array)
Name
======================
Laptop Example 2
Laptop Example 5
No he tenido mucha experiencia con fórmulas de matriz, pero he podido devolver todos los nombres de portátiles con8
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))),"")
o CPU
que contienei5-
=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))),"")
¿Pero no puedes combinar ambos usando la AND
función? Yo he tratado...
=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))),""))
Sin embargo, no devuelve nada. Cualquier ayuda sería muy apreciada.
Respuesta1
Usaría una tabla dinámica y luego filtraría por RAM y aplicaría un filtro a la columna de CPU.
Alguna ayuda para hacer esoaquí
Respuesta2
Mi enfoque para tu pregunta sería así.
1.- Consigue unas columnas auxiliares
Agregue una columna "Familia de CPU"
=left(right(C2;8);2)
Puede duplicar el campo Ram si desea ver el RAM cuando filtra
=B2&"gb"
2.- Insertar Tabla Dinámica
Seleccione todo el rango de datos, CTRL+MAYÚS+Espacio y vaya a Insertar > Tabla dinámica
Aquí seleccionaría Ram
y CPU Family
como sus filtros, en los campos de etiqueta agregaría Laptop Name
yCPU
Traducción:=LEFT(RIGHT(C2;8);2)
Este es mi enfoque sin implicarVBA
Salud.