Jump to content

Ordenar matriz - MSO 365


GabrielRaigosa

Recommended Posts

Hola,

Tengo una matriz con numeros aleatorios:

image.thumb.png.f0bec72e15c59a5831994c602c343c90.png

La ordeno así, de menor a mayor:

image.thumb.png.d588cfdf5623b0b12b225164adddcade.png

Para ordenarla uso otra matriz auxiliar, ver adjunto,

El ejercicio en el que estoy trabajando es ordenar la matriz, sin usar una matriz auxiliar, ya que creo el ordenamiento por filas y luego obtengo el resultado usando =APILARV(

La idea es trabajar un poco con matrices dinámicas usando las funciones LAMBDA, MAP, BYROW, BYCOL, es decir las funciones nuevas de Excel para lograr con una sola funcion, si matrices auxiliares, obtener la matriz ordenada, por filas, de menor a menor, por filas.

Creo que con el adjunto se puede entender mejor la idea del ejercicio propuesto.

Saludos

 

 

 

 

Ordenar matriz ✖.xlsx

Link to comment
Share on other sites

hace 24 minutos , Gerson Pineda dijo:

power query

Hola,

Puede ser útil en algún momento, si pensé en power query, aunque no lo intenté, veo que el resultado no "asigna" los nombres de las columnas si decido renombrarlas.

image.thumb.png.c34bef1feb33b6b105e2e0a8a4ab4f61.png

¿que se debe hacer para que conserve los nombres de campos de la matriz origen?

Saludos

Link to comment
Share on other sites

Hace 1 hora, GabrielRaigosa dijo:

veo que el resultado no "asigna" los nombres de las columnas si decido renombrarlas.

Revísalo de nuevo, te dejo 2 formas de hacerlo, con función personalizada [mi forma preferida] y con los pasos del panel

Ordenar matriz por columna - power query_GP.xlsx

Link to comment
Share on other sites

hace 49 minutos , Gerson Pineda dijo:

Revísalo de nuevo, te dejo 2 formas de hacerlo

Gracias @Gerson Pineda por tu intervención y por el aporte.

Seguro que en algún momento me pude servir tener la alternativa con PQ.

De hecho la consulta (ejercicio) no es que lo necesite ahora para algo, siempre resultan dudas de como resolver otro problema cuando estudio algún tema.

Seguimos en la tarea de aprender/estudiar/recordar/repasar todos los dias, esto es de nunca acabar.

Saludos.

Link to comment
Share on other sites

hace 1 hora, GabrielRaigosa dijo:

De hecho la consulta (ejercicio) no es que lo necesite ahora para algo, siempre resultan dudas de como resolver otro problema cuando estudio algún tema.

Seguimos en la tarea de aprender/estudiar/recordar/repasar todos los dias, esto es de nunca acabar.

De acuerdo, de otra forma, no avanzaríamos en el aprendizaje o como mínimo, sería más tardío 

Link to comment
Share on other sites

hace 39 minutos , Héctor Miguel dijo:

la aleatoriedad

Hola,

Pienso que la "realidad" muchos datos no siempre se entregan o se reciben ordenados, por eso preferí partir de datos que no estan ordenados y que pueden cambiar en cualquier momento.

Saludos.

 

Link to comment
Share on other sites

hace 53 minutos , GabrielRaigosa dijo:

preferí partir de datos que no estan ordenados y que pueden cambiar en cualquier momento

mientras los datos, por mucho que cambien, sean constantes, cualquier solucion es aplicable

pero... si interviene la aleatoriedad, las transformaciones por pq siempre iran "un paso atras" (reportando los "aleatorios anteriores"), esa fue la razon de la pregunta ?

Link to comment
Share on other sites

hace 51 minutos , Héctor Miguel dijo:

si interviene la aleatoriedad,

Es claro que la solución ofrecida por John, matrices dinámicas con MSO 365, es lo que estaba buscando.

Las propuestas con PQ pueden ser utiles en otros casos, cuando los datos son fijos, si se usan datos aleatorios, como en el ejemplo, no sera aplicable.

Saludos.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      170
    • Comments
      89
    • Reviews
      26

  • Crear macros Excel

  • Posts

    • Buenas noches profesor Antoni y demás miembros del foro. Tanto con la solución suya como la del profesor HDD resuelvo el problema y está es una tercera variante que nunca viene mal, porque todo lo que se aprende no pesa ni estorba Gracias por el enlace, en cuanto tenga el chance lo reviso. Necesito una última petición a ustedes. He tratado de convertir los números en texto a números y no he podido lograrlo. Lo hice con la función Sustituir por si hubiera algunos espacios de más, con el Texto en columna, lo multiplique x 1, le sumé +0, lo trate con un ciclo For Each, creando una variable Celda de tipo Range y un condicional If/End if y nada. Por favor, si fuera tan amables de sugerirme algo que no haya probado. Agradecido como siempre y mis respetos a ustedes. Pino
    • Utilizando la función  WorksheetFunction.Clean se eliminan la mayoría de caracteres no imprimibles.   Eliminar caracteres no imprimibles
    • Buenas tardes reiteradas. Que bien que se sumó el profesor Antoni a la solución. Qué provilegio, JSD y Antoni, no podría estar en mejores manos. Gracias a ambos por su respuestas, pero tengo una duda más. En el caso de Antoni manifiesta que el caracter es el 001 del ASCII, pero pregunto, si fuera otro caracter este códiogo me serviría también o hay que modificarle algo? Mis respetos a todos los miembros del Foro y en especial a Antoni y JSD. Agradecido. Pino
    • Hola Antoni, te adelantaste, bueno dejo lo mismo de otra manera Sub EliminarCaracteres(): Application.ScreenUpdating = False Dim rango As Range Dim datos As Variant Dim i As Long, j As Long With Hoja2 '>>>>> pon la hoja donde quieras trabajar Set rango = .Range("A4:M" & .Cells(.Rows.Count, "A").End(xlUp).Row) datos = rango.Value For i = 1 To UBound(datos, 1) For j = 1 To UBound(datos, 2) datos(i, j) = Application.WorksheetFunction.Clean _ (datos(i, j)) Next j Next i rango.Value = datos End With End Sub  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy