Jump to content

Fórmula SUMAR.SI buscando datos parciales de celda


Recommended Posts

Hola, buenas tardes. Os pido ayuda para este problema. Quiero hacer sin necesidad de macros, si es posible y no veo como hacerlo. Se trata de sumar los importes de un rango teniendo en cuenta que el valor que se busca de la celda es las 4 cifras de la izquierda. Envío un ejemplo con el resultado en amarillo.

Por ejemplo todas las obras que empiecen por 1100 se refieren a la delegación 1100. La obra sería 11000001, 11000002 por ejemplo.

Como digo es un ejemplo, no tiene nada que ver con el fichero original que tiene muchas otras celdas y obras. pero siempre coincide los primeros 4 dígitos de la obra con el numero de delegación.

Gracias de antemano.

 

CuotaDelegación.xlsx

Link to comment
Share on other sites

Hace 2 horas, John Jairo V dijo:

¡Hola @Pirtrafilla!

Los comodines en la función SUMAR.SI solamente trabajan con textos, no con números.  Dicho esto, puedes usar como alternativa la función SUMAPRODUCTO, de la siguiente forma:

=SUMAPRODUCTO(--(IZQUIERDA(F$2:F$8;4)=A2&"");G$2:G$8)

¡Bendiciones!

@John Jairo VMuchas gracias!!

Solucionado.

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy