Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Máximos colaboradores

Popular Content

Showing content with the highest reputation since 11/20/24 in Mensajes

  1. Al escribir fórmulas debemos evitar siempre que podamos anidar funciones SI (sobre todo cuando tenemos información que se repite). Por favor, prueba la siguiente fórmula: =SI.ERROR( LET( id, B3, fecha_ref, F3, rango_ids, '[Base Snte 05 Coah 2.xlsx]Pagos'!$F$2:$F$10000, rango_fechas, '[Base Snte 05 Coah 2.xlsx]Pagos'!$K$2:$K$10000, rango_resultado, '[Base Snte 05 Coah 2.xlsx]Pagos'!$D$2:$D$10000, diferencia, ABS(rango_fechas - fecha_ref), filtro, (rango_ids = id) * diferencia, min_dif, MIN.SI.CONJUNTO(diferencia, rango_ids, id), fila, COINCIDIR(min_dif, filtro, 0), INDICE(rango_resultado, fila) ), "No encontrado")Coméntanos si funciona.
  2. Israel, gracias por la parte que me toca. He tratado de darle un aire más moderno. Desde 2016 no he hecho un cambio tan grande. Nos vemos!
  3. Antes que nada ¡Muy bonito el foro con el cambio! El Maestro tiene buenos argumentos al pedirle más información, porque con los datos que expone usted sólo se puede aportar alguna idea sencilla: Puede usar las funciones en una fórmula de matriz INDICE y COINCIDIR junto con la lógica de un rango. Como usted tiene 365 no necesita los corchetes, aunque puede afectar el rendimiento dependiendo de la cantidad de los datos porque está relacionando columnas completas. =INDICE(DatosOrigen!A:A, COINCIDIR(VERDADERO, (DatosOrigen!B:B >= MisDatos!B2*0.9)*(DatosOrigen!B:B <= MisDatos!B2*1.1), 0)) Imagine: En su hoja "DatosOrigen", la columna de Folios es la A y la columna de Importes es la B. En su hoja "MisDatos", el Importe aproximado que tienes es la celda B2 (y quieres que el folio aparezca en A2). Importante si es que hay Múltiples Coincidencias: La fórmula traerá el primer folio que encuentre que cumpla con el criterio. Si hay varios importes dentro de su margen de tolerancia, solo devolverá el folio asociado al primero que aparezca en su lista de "DatosOrigen". Adicionalmente le funcionaría mejor Power Query
  4. Prueba el adjunto. MiNumerosListView.xlsm
  5. ¡Saludos, @Matías86 ! Prueba en F4 con la siguiente fórmula: =SUMA((0&C2:C199)*BUSCARV(B2:B199;E10:H11;COINCIDIRX(AÑO(C1);E9:H9);)*(AÑO(A2:A199)=AÑO(C1))) ¡Bendiciones!
  6. Que tal, una posible solución: =BUSCARX(A5,A1:A3,C1:C3,"Fuera de rango",-1) Espero le sea útil. Horas (solucion).xlsx
  7. Hola @ROVER1965 Te adjunto dos tipos de soluciones, la primera es celda por celda con la funcion SUMAR.SI.CONJUNTO y la segunda es una sola formula de Excel 365. Ya nos comentaras. CONSULTA SOBRE FORMULAS EXCEL.xlsx
  8. Con el tiempo transcurrido, falta de seguimiento o falta tiempo de tiempo del autor, termino mi participación en el tema. Saludines
  9. (parece que) ya pasaste de nuevo por tu consulta, asi que, en tanto te decides a soltar mas detales... como tus datos fueron insuficientes... analiza la muestra del adjunto (m365) 1) en las columnas A,B y C los datos donde buscar los valores (si estan en otro libro, cambia las referencias en la primera matriz en las columnas E,F y G) 2) en [E1] indicas el importe a buscar y en [E2] el '%' de tolerancia (+/-), los encontrados se derraman en la matriz [E4#] 3) en [I1] puedes elegir el monto filtrado que consideres mas apropiado (lista tomada de [E4#]), [I2] indica si hay mas de uno 4) en la segunda matriz [I5#] se listan los (RE)filtrados (OJO: que pudiera haber todavia mas de uno) 5) si hubiera mas de uno, la celda [M2] es para elegir de cual de ellos se rescatan los datos (mostrado en [M5]) puede ser que sobren pasos, filtros, etc, pero la falta de detalles es terreno fertil para una imaginacion generosa selecciona tolerancia en lista (ayudaExcel).xlsx
  10. para agilizar propuestas, te sugiero que proveas estos datos en tu siguiente mensaje: 1) el importe que 'ya tienes' (al que refieres en tu formula) 2) la celda donde necesitas el resultado (y la formula exacta con que lo intentas) 3) una imagen (reducida) de los datos en 'el otro libro' (rangos, arreglo, tipo de datos, ...) 4) el resultado que esperas como correcto (y donde se ubica en la imagen que adjuntes)
  11. Abre el adjunto y pulsa sobre el botón. Vale para cualquier cantidad de filas y columnas de Sheet1. copiar color.xlsm
  12. Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
  13. Bueno con el ejemplo así como lo tienes, te puedo compartir que ese error de referencia circular es el que te ayuda a mantener la fecha y la hora "congeladas" podrías evitarlo usando una columna auxiliar para el vacío pero la fórmula AHORA() te cambiara el resultado cada que la hoja se calcule o cuando le des guardar. Sin VBA de por medio será esperar el aporte de algún maestro o usuario avanzado. Si cambias de opinión pasa el tema para la otra sección. Saludos
  14. Para esa versión se me ocurre usar otra web y una UDF: Function InsertQRCode(celda As Range) As String Dim mirango As Range Dim QRCodeURL As String Set mirango = Application.Caller QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Left = mirango.Left .Top = mirango.Top .Width = mirango.Width .Height = mirango.Height End With InsertQRCode = "" End Function
  15. ¡Saludos, @pep! Revisa el archivo con una propuesta con la opción 1 (de la misma forma, con la opción 2 también es posible). ¡Bendiciones! consulta hojas - celda - datos.xlsx
  16. 1 point
    ¡Saludos, @jues ! Revisa detenidamente la propuesta, donde con base en lo que te he entendido, calculo el "n" día de un mes en particular. ¡Bendiciones!Feriados Moviles (B).xlsx
  17. Hola @RubenDario Faltaría que en cada línea dentro del With le pongas un punto al inicio With Hoja1 .Range("B6:B18,F6:F18,J6:J18").Select .Range("J6").Activate With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With .Selection.ClearContents .Range("A1").Select End With Sin embargo, lo que yo haría (si fuese mi proyecto)... te ofrezco varias soluciones. No asignarlo a una combinación de teclas, mejor ponerlo en una forma o botón. Modificar tu libro con la app Custom UI Editor o similar y adicionar un botón en el Ribbon, estará visible solo cuando el libro esté activo. Al principio de tu código pondría algo como: If Thisworkbook.Name <> ActiveWorkbook.Name Then Exit sub
  18. 1 point
    En el mensaje original no comentabas nada de un error, simplemente no te salía el formulario con los valores que deseabas. ¿Es así?
  19. Ahora sí, aquí lo dejo por si a alguien le viene bien. Private Sub Worksheet_Change(ByVal Target As Range) Dim celda As Range Dim imgNombre As String Dim imgOriginal As Shape Dim imgCopia As Shape Dim nombreImagenCelda As String ' Solo actuar si el cambio es en una celda individual If Target.CountLarge > 1 Then Exit Sub Set celda = Target nombreImagenCelda = "Imagen_" & celda.Address(False, False) ' Eliminar imagen existente en esa celda (si existe con ese nombre) On Error Resume Next Me.Shapes(nombreImagenCelda).Delete On Error GoTo 0 ' Determinar qué imagen usar según el valor Select Case celda.Value Case 1: imgNombre = "PruebaEuropa" Case 2: imgNombre = "PruebaAsia" Case 3: imgNombre = "PruebaÁfrica" Case 4: imgNombre = "PruebaAmérica" Case 5: imgNombre = "PruebaOceanía" Case 6: imgNombre = "PruebaMarrón" Case Else: Exit Sub ' No hacer nada si el valor no es válido End Select ' Buscar la imagen original On Error Resume Next Set imgOriginal = Me.Shapes(imgNombre) On Error GoTo 0 If imgOriginal Is Nothing Then MsgBox "No se encontró la imagen '" & imgNombre & "'.", vbExclamation Exit Sub End If ' Copiar la imagen y colocarla sobre la celda imgOriginal.Copy Me.Paste Set imgCopia = Me.Shapes(Me.Shapes.Count) With imgCopia .Top = celda.Top .Left = celda.Left .Height = celda.Height .Width = celda.Width .LockAspectRatio = msoFalse .Name = nombreImagenCelda End With End Sub
  20. Hola, puedes usar Power Query o columnas auxiliares. Te dejo una forma usando PQ. DATA.xlsx
  21. Otra solución: Agregué un hoja con una tabla que hace referencia a tus datos. Pega tu información y ajusta el tamaño de la Tabla.Movimientos mercado pago.xlsx
  22. ¡Hola! Te comparto tres soluciones Excel 365 Buscar en intervalos horas - Excel 365_GP.xlsx
  23. Tal y como tienes tu código hace lo siguiente, que es lo que necesitas?
  24. Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' Asegurarnos de que solo ajustamos las filas a partir de la fila 5 If Not Intersect(Target, Me.Rows("5:" & Me.Rows.Count)) Is Nothing Then Me.Rows("5:" & Me.Rows.Count).AutoFit End If End Sub
  25. Genial asi es como lo queria.!!! Muchas gracias Antoni!!!
  26. Intenta con: =INDICE(G$3:AK$3,,CONTAR(G$3:AK$3))-SI.ERROR(BUSCAR(2,1/(G4:INDICE(G4:AK4,,CONTAR(G$3:AK$3))=0),G$3:AK$3),G$3-1)
  27. Así como está el ejemplo si agregas un argumento a la fórmula que pusiste debería devolver el resultado que buscas: =BUSCARV(I4,I25:M36,2,FALSO)
  28. Trata con esta correción a la fórmula: =MAX(A:.A)-BYROW(F4:.AK400,LAMBDA(r,SI.ERROR(BUSCAR(2,1/(r=0),F3:.AK3),G3-1))) CONTADOR FINAL (Solucion) (1).xlsb
  29. Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO. Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
  30. Si puedes subir el libro mejor, en caso contrario la hoja afectada y la macro
  31. Hola a ambos, Varias opciones: En el ejemplo presentado, se observa que las posiciones abscisa/ordenada son las mismas en las tablas fuente y destino. Si va a ser así, bastaría con: =I3:L6 fórmula que, colocada en F26 devolvería los resultados. Otra forma abreviada podría ser: =BUSCARV(D26;H$3:L$6;{2\3\4\5};) fórmula que habría que insertar en F26, y copiarla verticalmente hasta F29 para obtener los mismos resultados. Pero eso sí: siempre que el orden de las columnas también sea el mismo que el de la tabla fuente. Y por último, ya que tienes Excel-365, también podrías emplear: =EXCLUIR(REDUCE(0;D26:D29;LAMBDA(a;b;APILARV(a;BUSCARV(b;H3:L6;{2\3\4\5};))));1) fórmula única, que introducida en F26, devolverá una matriz dinámica con todos los resultados. Si entre esto y la aportación de @Israel Cassales ya queda resuelta tu petición, perfecto. En el caso de que el problema pueda abarcar otras vertientes y exceder en complejidad (filas o columnas en posiciones diferentes, por ejemplo), mi recomendación es que subas otro archivo, pero esta vez con el escenario más difícil que pueda existir, para ver de aportar nuevas posibilidades de solución. Saludos a ambos,
  32. @Fernando Reyes Chavarria Es importante seguir la recomendación del Moderador en ampliar los detalles para recibir más posibilidades de ideas. Con lo que describe me parece (o al menos eso entiendo) que busca tener dentro del gráfico dos siluetas donde el relleno se aumente o se disminuya de acuerdo al porcentaje de la operación que viene en su libro, algo como la imagen: Pero con siluetas humanas, creo. De ser así la idea es simple, en su gráfico debe remplazar las formas por las formas humanas transparentes, luego agrupar con las formas que tendrán el relleno auto ajustable que dependerán del resultado de la fórmula. Aunque puedo estar equivocado y queda esperar a que usted de una información más amplia. Saludines
  33. 1 point
    Un año más en este foro aprendiendo de los demás y tratando de aportar lo mejor posible, espero que se encuentren bien cada uno de los que participan en el foro, consultantes, miembros, maestros, moderadores, administradores... ¡bendiciones y buenos deseos! ¡Feliz Navidad 2024 y Año 2025! Saludines
  34. Te entendí bien, pero me quede a medias, únicamente hacia lo que pedias cuando ponías directamente el NHC y no cuando lo buscabas con la lupa, prueba ahora y comenta
  35. Private Sub UserForm_Initialize() Dim hoja As Variant For Each hoja In Sheets If hoja.Name <> "Alta" And hoja.Name <> "Auxiliar" And hoja.Name <> "ddTraDa.hoja" Then ComboBox8.AddItem hoja.Name End If Next TextFechaReg = Format$(Date, "dd/mm/yyyy") End Sub Cambia en tu formulario Private Sub UserForm_Initialize() por este y solamente te cargara las hojas que necesitas actualmente, cuando añada nuevas que quieras incluirlas debes cambiar el código a tus necesidades.
  36. Mañana te lo comparto para que lo pruebes
  37. Me lo ha chivado la grabadora de macros al darle formato "Contabilidad". 😜
  38. Mira a ver si esto se ajusta más o menos a lo que buscas.
  39. Para mañana creo que te mando algo
  40. Hola a todos También funcionaría concatenando =TEXTO(C3&"/"&B3&"/"&A3,"dddd")
  41. Parece que el consultante @RubenDario no ha tenido oportunidad de dejar sus comentarios, esperando que cualquiera de las propuestas recibidas en el tema le haya servido, de mi parte concluyo mi participación. Saludines
  42. El archivo Propuesta27102024.xlsm
  43. Disculpa JSDJSD con que programa haces esos gifs?
  44. El archivo, cámbialo por el que tienes ya que no te mando la carpeta informes Propuesta27102024.xlsm

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.