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 12/14/24 in all areas

  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. ¡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!
  5. Que tal, una posible solución: =BUSCARX(A5,A1:A3,C1:C3,"Fuera de rango",-1) Espero le sea útil. Horas (solucion).xlsx
  6. 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
  7. Con el tiempo transcurrido, falta de seguimiento o falta tiempo de tiempo del autor, termino mi participación en el tema. Saludines
  8. (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
  9. 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)
  10. Abre el adjunto y pulsa sobre el botón. Vale para cualquier cantidad de filas y columnas de Sheet1. copiar color.xlsm
  11. Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
  12. 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
  13. 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
  14. Hola a ambos, Por si te interesa un total detallado por cada divisa, te adjunto archivo con los detalles... Saludos, Sumar Tipo de cambio (G).xlsx
  15. Hola Ruben Solo deberías escribir esto. Esa línea hace que si el nombre del libro donde está la macro (thisworkbook) es diferente al nombre del libro donde se encuentra el usuario (libro activo = Activeworkbook)
  16. 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
  17. Hola a ambos, @RandalHP , por si es de tu interés, te paso un archivo donde con una sencilla fórmula puedes obtener, partiendo de fecha inicial y fecha final a voluntad, el total de cada uno de los 'CeBe'. Ambas fechas habría que introducirlas en J6 y K6. El modelo es fácilmente aplicable/ampliable a rangos de mayor amplitud, sea en datos (filas) o fechas (columnas). Saludos, DATA (B).xlsx
  18. Vale, vale, he visto la luz! Tengo formato condicional que el otro día no vi. Lo miré y no lo vi. Ni te molestes Abraham Valencia. Mil gracias a los dos
  19. 1 point
    • 7 downloads
    • Version 1.0.0
    Selecciona año, mes y día para agendar. Selecciona alguna cita y mostrara los botones de Modificar o Eliminar Selecciona alguna cita y podrás cambiar su status dando clic en el color de la parte inferior Filtrar: Puedes filtrar las citas por cualquier palabra o nombre para localizarlas con facilidad. Al abrir la Agenda ocultara los exceles y al terminar los volverá a mostrar. Espero les sea de utilidad
  20. 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
  21. También es posible hacer eso con fórmulas directo sobre la validación de datos, creando los nombres de las tablas y usando la función INDIRECTO() Si le interesa cree un tema similar en esa sección. Le dejo el libro con el VBA Ejemplo 2.xlsb
  22. Hola, Este código hace literalmente eso Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("B2")) Is Nothing Then Application.EnableEvents = False Me.Range("B3").ClearContents With Me.Range("B3").Validation .Delete Select Case Me.Range("B2").Value Case 1 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="Avion,Barco" Case 3 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="Barco" Case Else End Select End With Application.EnableEvents = True End If End Sub
  23. Hola, el ícono de Excel es cuando vinculas los datos de Excel, tipo tablas es cuando importas.
  24. ¡Hola! Después de un buen tiempo ausente... @Gabriela hg ya que veo que tienes Excel 365, te dejo mi solución para piezas y gramos. Extraer piezas - gramos 365_GP.xlsx
  25. Hola a ambos, @Gigi74, si te es igual conseguirlo en un rango aparte, puedes aplicar: =APILARV(A4:D4;FILTRAR(A5:.D999;(A5:.A999=B2)+(B5:.B999=B3))) Saludos,
  26. Genial asi es como lo queria.!!! Muchas gracias Antoni!!!
  27. Una idea con VBA Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Dim filterRange As Range Dim selectedValue As String Dim lastRow As Long Set ws = ThisWorkbook.Sheets("Hoja1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Set filterRange = ws.Range("A4:D" & lastRow) If Not Intersect(Target, ws.Range("B2")) Is Nothing Then selectedValue = ws.Range("B2").Value filterRange.AutoFilter Field:=1, Criteria1:=selectedValue If selectedValue = "" Then filterRange.AutoFilter End If End If End Sub
  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. Que tal nuevamente, adjunto una solución alternativa: =MAX(A:.A)-BYROW(F4:.AK20,LAMBDA(r,BUSCAR(2,1/(r=0),F3:.AK3))) Cabe mencionar que esta solución requiere funciones nuevas como RECORTAR.RANGO. CONTADOR FINAL (Solucion).xlsb
  30. Hola, Por lo que respecta a gramos, puedes utilizar esta fórmula: =--REGEXEXTRACCION(B3:B35;"(\d+)\s*(?=[gG]\b|gr|GR)") En cuanto a las piezas, habría que ver cuál es el patrón; no sé si, por ejemplo, en el primer artículo ese '2p' equivale a un número de 2 [piezas], pero en los artículos en mayúsculas (a partir de la fila 18) no está clara la forma de identificación. Saludos,
  31. 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,
  32. Si puedes subir el libro mejor, en caso contrario la hoja afectada y la macro
  33. el comportamiento que describes se ha reportado desde hace varios años y en toda version de excel, algunas (posibles) causas... - el complemento PDFMaker (y muy probablemente otros) - cerrar un libro con un UserForm 'cargado' en memoria (aunque no este visible) - hacer consultas (SQL) al mismo libro (segun version de creacion) - crear instancias de excel > abrir libros para consultar > y cerrar con su ventana oculta - definir y asignar variables de objeto y NO 'terminar/destruir' al final de los procesos
  34. el tema tiene su grado de complejidad por lo siguiente: 1) la propiedad que intentas (.interior.colorindex) no detecta formatos condicionales 2) la propiedad .displayformat (xl-2010+) no se puede usar (directamente) en UDF's llamadas desde celdas 3) por lo mismo es la 'vuelta de tuerca' por procedimiento 'auxiliar' y el metodo 'evaluate' finalmente, no me hables 'de usted', hablame de (us)TU 🫡
  35. 1 point
    Feliz año 2025 a los usuarios aún frecuentes del foro. Espero que en algún momento recuperemos el auge que alguna vez tuvo este foro.
  36. 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
  37. Prueba ahora a ver que tal¡¡
  38. Abres el formulario, pones la fecha, si no sabes el código del cliente pulsas F2 o el botón lupa, se abre el formulario de búsqueda de clientes, digitas cualquier cosa que recuerdes del paciente como algún apellido o nombre y te aparecerán todas las coincidencias que tengas en tu base de datos, en el caso de no estar pulsa el botón + y abrirás el formulario para añadir nuevo paciente completas los campos del mismo y pulsas guardar, automáticamente te dirige al formulario de búsqueda donde ya puedes poner cualquier parte del nombre o apellidos del paciente recién creado lo seleccionas y continuas hasta el final.

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.