Jump to content
Xanito

ANSWERED Jalar los números de pedidos de un mismo código

Recommended Posts

Buen día genios en Excel, aquí de nuevo solicitando su ayuda, tengo la matriz a buscar desde la columna A hasta la columna C,  entonces en la columna E tengo el código a buscar, lo que me gustaría lograr es que alguna fórmula jale todos los números de solicitud que aparecen en la común B a la columna F de los códigos repetidos que aparecen en la columna A; y asimismo en la misma forma que jale la fecha de siaf de la columna C a la columna G, intente usar la fórmula de índice y coincidir pero no me funciono no sé qué hice mal, me podrían ayudar por favor de antemano gracias.

Pedidos.xlsx

Share this post


Link to post
Share on other sites

Hola Xanito

Hace 4 horas, Xanito dijo:

intente usar la fórmula de índice y coincidir pero no me funciono no sé qué hice mal,

Con indice y coincidir, solo te traerá uno de los resultados, el primero que encuentre.

En esta fórmula

=SI.ERROR(B3&", "&INDICE(F3:F$49,COINCIDIR(A3:A$2037,)),B3)

Realmente no sé que has tratado de hacer..  Si fuera un solo resultado a buscar, solo sería:

con Indice traes el resultado de la columna que necesitas, me parece que es la B

con coincidir coincides el código del medicamento, con la columna A

en F3:  =SI.ERROR(INDICE($B$2:$B$2037,COINCIDIR(E3,$A$2:$A$2037,)),"")

pero en fin como te digo, eso solo te traería un solo resultado y tu deseas algo así como un concatenado ... y eso con ejemplos como este:  El código 448 se repite 79 veces 🤕 . 🙄

 

 Lo que necesitas, se resuelve muy bien con una macro.

Pero yo... :(   no te puedo ayudar con eso..

 

saludos,

Silvia

Share this post


Link to post
Share on other sites

Gracias por tu comentario Silvia, si así es el código 448 esta repetido varias veces y eso es lo que necesito que jale toda la información de cada código, estoy en espera tal vez habrá alguien que me ayude con eso, de antemano gracias.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Buenos días compañer@s, espero que estéis tod@s bien, a ver si me podéis ayudar. He creado una medida que me suman todas las categorías de las ventas [TOTAL_VENTAS], doce campos en total. Con ella he creados dos medidas más: VENTAS_AÑO_ACTUAL=CALCULATE([TOTAL_VENTAS];DATOS_BP[ANYO]=2020) VENTAS_AÑO_ANTERIOR=CALCULATE([TOTAL_VENTAS];DATOS_BP[ANYO]=2019) Hasta ahí todo bien. Mi pregunta es, cómo puedo hacer para que la medida calcule el año en curso y el año anterior sin necesidad de tener que poner 2020 y 2019?. Muchas gracias como siempre Saludos  
    • Así funciona: Sub Crear() Application.ScreenUpdating = False If Trim([C9]) = "" Then MsgBox "*** Cédula en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([E9]) = "" Then MsgBox "*** Riesgo en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([C11]) = "" Then MsgBox "*** Nombre en blanco ***", vbCritical, "Alerta" Exit Sub End If Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Datos\01.Adeudos.accdb" .Open End With With Sheets("Registro") Set Rs = New ADODB.Recordset Sql = "SELECT Count(*) FROM pen WHERE [Num Id]='" & .Range("C9") & "'" Rs.Open Sql, Cnn, 3, 3, adCmdText Datos = Rs.GetRows If Datos(0, 0) > 0 Then MsgBox "El registro ya existe en la base de datos!!!", vbCritical, "SACI" Else Sql = "INSERT INTO pen ([Num Id], Nombre, Riesgo, [Monto Caso], Moroso, [Nun_Patrono], [Nom_Patrono]) " Sql = Sql & "VALUES ('" & .Range("C9") & "', " & _ "'" & .Range("C11") & "', " & _ "'" & .Range("E9") & "', " & _ "'" & .Range("G9") & "', " & _ "'" & .Range("G11") & "', " & _ "'" & .Range("C13") & "', " & _ "'" & .Range("E13") & "' )" MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" A_ingesarDatos = True End If End With Cnn.Execute (Sql) Cnn.Close Set Cnn = Nothing End Sub  
    • Hola buenas a todos, me presento como nuevo usuario, saludos a todos !!
    • Hacer eso con "una formula" se puede con Office 365. Si no tiene Office 365 el adjunto que le comparto NO le va a servir y deberá esperar alguna otra propuesta.   Filtrar con función.xlsx
    • Gracias por la ayuda. Seguramente algo tengo que estar haciendo mal. Lo puse de la siguiente forma y me da error con depurador al parecer es en esta parte del código "    .Open Sql, Cnn, , , adCmdText" Sub crear() Application.ScreenUpdating = False If Trim([C9]) = "" Then MsgBox "*** Cédula en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([E9]) = "" Then MsgBox "*** Riesgo en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([C11]) = "" Then MsgBox "*** Nombre en blanco ***", vbCritical, "Alerta" Exit Sub End If Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Datos\01.Adeudos.accdb" .Open End With Set Rs = New ADODB.Recordset Sql = "Select [Num Id] From pen Where [Num Id] =" & Worksheets("Registro").Range("C9").Value With Rs .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open Sql, Cnn, , , adCmdText End With If Rs.RecordCount >= 1 Then MsgBox "Ya existe el ID, modifique" Exit Sub End If Sql = "INSERT INTO pen ([Num Id], Nombre, Riesgo, [Monto Caso], Moroso, [Nun_Patrono], [Nom_Patrono]) " Sql = Sql & "VALUES ('" & Worksheets("Registro").Range("C9").Value & "', " & _ "'" & Worksheets("Registro").Range("C11").Value & "', " & _ "'" & Worksheets("Registro").Range("E9").Value & "', " & _ "'" & Worksheets("Registro").Range("G9").Value & "', " & _ "'" & Worksheets("Registro").Range("G11").Value & "', " & _ "'" & Worksheets("Registro").Range("C13").Value & "', " & _ "'" & Worksheets("Registro").Range("E13").Value & "' )" With Rs .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open Sql, Cnn, , , adCmdText End With MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" A_ingesarDatos = True End Sub Saludos
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy