Saltar al contenido

Sumaproducto pero que una matriz no sea matriz si no una celda.


alejayo

Recommended Posts

Hola, quería haceros una consulta que me está generando problemas.

Para calcular que orientación e inclinación de paneles solares es más óptima, tengo muchas combinaciones, entre orientación e inclinación (45 combinaciones). Tengo que restar la producción solar al consumo que tengo cada hora del año (8760 filas). Además estas combinaciones las tengo que multiplicar por diferentes números de placas fotovoltaicas. El caso es que si he conseguido hacerlo añadiendo columnas y columnas con los diferentes pasos, pero sólo con 4 combinaciones ya me está ocupando mucho el archivo y le empieza a costar calcular.

Había pensado utilizar el sumaproducto (u otra opción), que multiplique la potencia de las placas fotovoltaicas (que es una celda) por las diferentes producciones, pero sin pasar por muchas columnas, que me aumenta mucho el tamaño del archivo. Me resulta difícil explicarlo escrito, creo que en la excel que adjunto está más claro, he puesto la formula de forma manual de lo que haría (en colores azul y verde)

Y si fuese posible, también me gustaría filtrar estos datos por otra columna, por ejemplo que solo coja la hora 9. Está sombreado en amarillo.

¿Sabéis si hay alguna manera de hacer esta fórmula en una celda (o alguna más)?

Muchas gracias de antemano!

Sumaproducto_celda.xlsx

Enlace a comentario
Compartir con otras webs

Hola,

La fórmula =C9-(D9*C3) + C10-(D10*C3) + C11-(D11*C3)

la puedes sustituir así: =SUMAPRODUCTO((C9:C11)-(D9:D11*C3))

(te pongo sólo 3 factores para que puedas comprobar que da el mismo resultado. Modificando 11 por la última cifra que necesites evaluar, tendrás el resultado deseado).

En cuanto a la hora, prueba con: =SUMAPRODUCTO((B9:B56=I3)*((C9:C56-D9:D56*C3)))

...a ver si es lo que necesitas.

Saludos,

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿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
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola buenas tardes. En una hoja plantilla donde realizo diferentes consultas de datos. tengo ya establecido dos formulas diferentes con función SI y buscar. estos buscan diferentes rangos de datos y recibendiferentes resultados. Cada formula varia según una palabra o numero  ejemplo si pongo Xl pone la formula 1 y si pongo cualquier numero entre 1 y 3 pone la segunda formula. Lo que necesito hacer es que si en una celda de la columna B3 pongo XL debería de considerar la formula 1 y si pusiera el numero 1 me pondría la segunda formula, dentro de la misma formula. Ya agregue la función SI($C3="Xl",Formula1.. Pero no me funciona, espero me puedan ayudar.   Muchas gracias Mariano   Formula doble si en celda existe.xlsx
    • Sub control2558() Application.ScreenUpdating = False Dim I As Integer I = 4 While Sheets("FT-ADF-2558").Cells(I, 102) <> "" Sheets("FT-ADF-2558").Cells(6, 82) = Sheets("FT-ADF-2558").Cells(I, 102) Dim NombreArchivo, RutaArchivo As String NombreArchivo = "Hoja Control " & Sheets("FT-ADF-2558").Cells(I, 102) RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo & ".xlsm" Dim NuevoLibro As Workbook Set NuevoLibro = Workbooks.Add Sheets("FT-ADF-2558").Copy Before:=NuevoLibro.Sheets(1) NuevoLibro.SaveAs Filename:=RutaArchivo NuevoLibro.Close I = I + 1 Wend MsgBox ("Proceso generado con éxito") Application.ScreenUpdating = True End Sub  
    • Ese error es porque no existe la hoja 10 con ese nombre, entonces cámbialo por FT-ADF-2558
    • Hola, gracias. No se ejecuta...   sale esto: se ha producido el error "424"  en tiempo de ejecución. Se requiere un objeto   Le doy en depurar y me sale en amarillo esta parte  While Hoja10.Cells(I, 102) <> ""        
    • Hola Israel,   Muchísimas gracias por tu consejo. Te comento como me funcionó. Yo tengo un libro Excel con 1.000.000 de filas  y 7 columnas. Si mantengo apretado las teclas Ctrl+Shift+Flecha abajo, me selecciona todos los datos. de la hoja. Pero como me dijiste que una celda vacía rompe la selección, lo que hice fue insertar una fila vacía bajo la última fila que me interesa copiar, selecciono la fila superior con las columnas que me interesa copiar, luego apretando las teclas Ctrl + Shift y luego dando un solo clic en la tecla Flecha hacia abajo, me selecciona los datos hasta la fila vacía. Tema resuelto, nuevamente muchísimas gracias. Lamento haber aprendido esta operación tan tarde.   Saludos, Israel    Betomil
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.