·
Sí, es posible conseguirlo. He creado una hoja de Excel con una pequeña macro que permite probar las combinaciones de filas que solo son 12 y luego comprueba si las columnas son iguales aunque no estén en orden.
Cuando cambiamos de lugar una fila o columna se mantiene el número de ceros o unos de todas las filas y columnas aunque en distinto lugar que antes.
En filas hay una con 5 unos, dos con 4 unos y tres con 3 unos, hagamos los cambios que hagamos seguirá habiendo ese número de filas de cada clase. Con las columnas pasa lo mismo, hay once columnas con 2 unos y seguirá habiendo siempre ese número.
Entonces la fila de 5 unos que es la primera tendrá que ir obligatoriamente al lugar de destino donde está la fila de 5 unos que es la quinta. Esto quiere decir que la fila primera, va a la fila quinta. Y las dos filas de 4 unos irán a las dos filas de 4 unos en el destino, esto da dos posibilidades. Y las filas de tres unos irán donde hay tres unos en el destino, esto son permutaciones de 3 que son 6.
Las combinaciones posibles son 6·2 = 12 que es poca cosa para un ordenador. Y una vez cambiadas las filas las columnas ya tienen que tener la misma estructura que el destino. Para hacer una comparación más sencilla a cada columna le asigno un número que sería el número binario que representa. Si la columna es (c1, c2, c3, c4, c5, c6) se calcula así:
b = 32·c1 + 16·c2 + 8·c3 + 4·c4 + 2·c5 + c6
Luego ordeno esos números de menor a mayor y los puedo comparar con los mismos de la matriz destino, si son todos iguales es que se puede hacer el cambio.
Esta es la macro:
Sub comprobar()
Dim i, j, fila As Integer
Dim SonIguales As Boolean
For i = 1 To 12
Range("M12:w17").Clear
For j = 1 To 6
fila = Cells(i + 8, j)
Range("A" & fila & ":K" & fila).Copy Destination:=Range("M" & 11 + j)
Next
SonIguales = True
For k = 13 To 23
If Cells(9, k) <> Cells(19, k) Then SonIguales = False: Exit For
Next
If SonIguales Then
MsgBox ("Son Iguales, combinación " & i)
End If
Next
End SubY estas las fórmulas:
En M8
=M1*32+M2*16+M3*8+M4*4+M5*2+M6
Esa fórmula se pega de N8 a W8 y de M18 a W18
En M9
=K.ESIMO.MENOR($M$8:$W$8;COLUMNA()-12)
Y esa formula se pega desde N9 hasta W9
En M19
=K.ESIMO.MENOR($M$18:$W$18;COLUMNA()-12)
Y secopia y pega desde N19 hasta W19
Entre A9 y F20 escribí yo a mano los intercambios de filas posibles
·
Y estos los resultados:

La combinación 4 es la que está en la fila 12 de la hoja columnas A a F y que hace estos intercambios de filas de la matriz
1 al 5, 2 al 4, 3 al 2, 4 al 1, 5 al 6, 6 al 3
Y luego las columnas comparas los números de la fila 18 de la hoja columnas M a W con las mismas de la fila 8. Tienes que el 10 está el primero y en la matriz destino esta el noveno, luego hay que cambiar la columna primera al noveno lugar, el 9 es la segunda columna y en destino está el octavo, luego se cambia la columna segunda con la octava, etc.
Y esta es la otra forma de hacerlo

La combinación 12 es la que está en la fila 20 de la hoja, hace estos cambios de filas
1 a 5, 2 a 4, 3 a 3, 4 a 6, 5 a 1 y 6 a 2
Luego si haces las comparaciones como antes lleva la columna 1 a 6, 2 a 1, 3 a 5 etc.
En realidad una vez se sabe los cambios de filas necesarios no es tan difícil calcular los de las columnas.