Feliz navidad. No doy con esto: Tengo la columna "A" con fechas y la columna "B", con números, quiero hallar el promedio de la fila "B" por meses descartando las celdas en blanco o con ceros.
Necesito más aclaraciones, la columna A son fechas, pero la columna B que son números como vamos a hallar promedio de meses aclarame la relación entre la columna A y B y donde están los ceros o las celdas en blanco (En que columna)
Perdona, el promedio lo quiero hallar de la columna "B" que son cantidades que se van Produciendo en las fechas de la columna "A"
Aver si te he entendido tu en tu columna A tienes diferentes fechas que se repiten meses como esto (01/08/2008, 15/08/2008...) y a cada fecha le corresponde un numero en la columna B, algunas celdas de Columna B son 0 y primero quieres descartar las fechas en las cuales tu dato es 0 que solo queden fechas con datos en columna B para eso haces un autofiltro y eliges personalizar pones la condición "mayor que" y en el valor pones 0 y ya solo tienes las que poseen algún dato mayor de 0 La fórmula de promedio es =PROMEDIO(B1:B50) siendo la letra la columna y el numero la fila A ver si te vale
Lo siento, tendría que ser por fórmula, porque tengo más columnas donde también hayo El promedio, teniendo como base la columna de fechas, desde el 1 de enero hasta el 31 de diciembre. Trato de extraer por meses los promedios de las demás columnas. Un saludo
He echo una macro que hace lo siguiente: 1º Crea un Autofiltro en la columna de fechas con los criterios siguientes: "Mayor o igual que" y "Menor o igual que" para que pongas 01/01/08 y 31/01/08 Esto lo tendrás que hacer 12 veces (poner esta lineas de código modificando los valores a 1 de cada mes y 31 para que estén todas las fechas incluidas) 2º He creado 12 hojas con los nombres de los meses 3º La macro recoge todos los datos que hay en las columnas B y F (tu puedes cambiar el rango de datos a tu interés 4º Los copia y los pega cada uno en su mes 5º He elegido una celda donde hace el promedio de las filas y columnas que tu quieras 6º Se repite 12 veces llevando a cada mes los datos que le corresponden Ya sabes como funciona una macro pues con pulsar un botón lo tienes echo todo de una vez, tan solo debes crear las hojas con sus nombres y corregir las fechas, celdas y columnas donde quieres extraer tus datos y donde llevarlos. Te dejo el código y para cualquier consulta me pides aclaración. De todas formas te la explico linea a linea Sub PromFe() ' ' PromFe Macro ' Macro grabada el 01/01/2009 'Seleccionamos la columna de fechas Columns("A:A").Select 'Ponemos un Autofiltro con las condiciones de rango entre fechas Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=">=01/01/2008(Esta la tendras que cambiar 12 veces y volver a copiarla)", Operator:=xlAnd _ , Criteria2:="<=31/01/2008" 'Aquí tendras que poner el rango que quieres copiar de tus datos Range("A2:F3").Select 'Copia el rango de datos elegido Selection.Copy 'Selecciona la Hoja "ENERO" Sheets("Enero").Select 'Nos situamos en la celda donde comenzará a pegar Range("A2").Select 'Pega los datos copiados correspondiente al mes de Enero Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False 'Nos situamos en una celda vacía que al encabezado hemos puesto titulo de Promedio Range("H3").Select 'Ponemos la formula y elegimos respecto a esta celda la posición de los rangos que debe hayar el promedio siendo la "R"(Rows=fila) y la "C"(Column=Columnas) ActiveCell.FormulaR1C1 = "=AVERAGE(R[-1]C[-6]:R[-1]C[-2],RC[-6]:RC[-2])" 'Vuelve a la Hoja1 para seguir recogiendo datos Sheets("Hoja1").Select 'Coloca el criterio para el mes siguiente Selection.AutoFilter Field:=1, Criteria1:=">=01/02/2008(Este para el inicio de Febrero)", Operator:=xlAnd _ , Criteria2:="<=29/02/2008 ( Y este para el final)" 'Elegimos el rango que tiene que copiar Range("A4:F5").Select 'Copiamos el rango seleccionado Selection.Copy 'Vamos a la Hoja "FEBRERO" Sheets("Febrero").Select Nos situamos en la celda A2 para pegar los datos Range("A2").Select 'Volvemos a pegar los datos Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False 'Elegimos la celda donde queremos que aparezca el promedio Range("H3").Select 'Ponemos la formula de PROMEDIO y seleccionamos las filas y columnas de las celdas de las cuales sacrá el resultado (siempre respecto a nuestra celda) ActiveCell.FormulaR1C1 = "=AVERAGE(R[-1]C[-6]:R[-1]C[-2],RC[-6]:RC[-2])" 'Volvemos a la Hoja1 para recoger otro mes y así sucesivamente hasta los 112 meses Sheets("Hoja1").Select End Sub Es fácil solo copiar y pegar las lineas de código que hay entre meses e ir cambiando las fechas porque el rango de datos sera el mismo, Mira a ver si te soluciona tu problema y me cuentas