Foros del Web » Soporte técnico » Ofimática »

Macro Excel Generar combinaciones de una matriz

Estas en el tema de Macro Excel Generar combinaciones de una matriz en el foro de Ofimática en Foros del Web. Buenos días: Querría saber si una macro de Excel podría utilizarse para realizar combinaciones de una matriz cuyos campos son texto. Me explico: Dispongo de ...
  #1 (permalink)  
Antiguo 16/01/2008, 04:47
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Macro Excel Generar combinaciones de una matriz

Buenos días:
Querría saber si una macro de Excel podría utilizarse para realizar combinaciones de una matriz cuyos campos son texto. Me explico:
Dispongo de una plantilla matriz que tiene 3 columnas. En la fila de la primera columna se encuentran las funcionalidades. En la dos siguientes columnas aparecen una serie de características exclusivas de cada Aplicación, las llamaremos Características relevantes y Valores a Considerar. Estas columnas, la B y la C poseen diferentes nombres. Lo que quiero es combinar las tres columnas con sus correspondientes filas, de manera que me genere un nuevo documento de tres columnas con las filas necesarias producto de la combinación de los valores de las filas con los de las columnas. Debe salir el total de combinaciones automáticamente siguiendo unos criterios establecidos. No sé si se pueden realizar fórmulas con texto que sirvan para combinar. Un ejemplo:

Tenemos tres columnas: La A es la funcionalidad (Pepe)pues quiero que me saque todas las combinaciones posibles para Pepe y me las coloque en un nuevo documento:
A B C
Pepe Pérez Díaz
Rodríguez Domínguez COMBINAR
González Martín

Nuevo Documento

A B C
1 Pepe Pérez Díaz
2 Pepe Rodríguez Domínguez
3 Pepe González Martín
4 Pepe Pérez Domínguez
5 Pepe Pérez Martín
6 Pepe Rodríguez Díaz
7 Pepe González Díaz

De tal manera que pueda discriminar que combinaciones quiero, porque a lo mejor me pueden salir miles de combinaciones. Quizás esto se podría hacer mediante autofiltro, creando una columna de control que establezca su importancia con un dígito o mediante colores, ya que algunas columnas multiplican y otras suman en su "combinatoria".
Se trata de generar todas las posibilidades que pueden salir de la combinación de esas tres columnas.

Muchas gracias
  #2 (permalink)  
Antiguo 16/01/2008, 08:03
Avatar de apofis  
Fecha de Ingreso: enero-2008
Ubicación: españa
Mensajes: 77
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Macro Excel Generar combinaciones de una matriz

prueba con las funciones coincidir e indice,con la combinación de ambás puedes buscar datos en cualquier dirección dentro de una tabla.

COINCIDIR(VALOR BUSCADO, MATRIZ, TIPO DE COINCIDENCIA) te devuelve en que fila de la matriz esta el valor
INDICE(MATRIZ, NRO DE FILA, NRO DE COLUMNA) te devuelve un dato especifico de una matriz, especificando en que fila y columna esta ese dato
  #3 (permalink)  
Antiguo 16/01/2008, 10:31
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Re: Macro Excel Generar combinaciones de una matriz

Pues, si te entendí bien, creo que eso te puede salir fácilmente con access.

Créate, en access, una tabla que contenga un solo campo (nombre) y una única fila o registro (Pepe).
Crea una segunda tabla que contenga dos campos (Apellido1, Apellido2) y tantas filas o registros como necesites (tres: Pérez Díaz, Rodríguez Domínguez, González Martín).

Una vez hecho esto, crea una consulta donde añadas las dos tablas. Incluye en la consulta los campos Nombre (Primera tabla), Apellido1 (Segunda tabla), Apellido2 (segunda tabla).

Al no estar relacionadas las tablas se creará un producto cartesiano que relacionara cada registro de la primera tabla, con todos los registros de la segunda.

Creo que eso te puede valer. Si no, no se me ocurre nada en excel que no haga uso de una macro, como sugieres en el título.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:59.