Determinar el rango entre celdas, pero omitir las celdas vacias

9 envíos / 0 nuevos
Último envío
Fabián
Imagen de Fabián
Offline
última acción: Hace 9 años 6 meses
Nivel 1 - 200 puntos
alta: 10/04/2013 - 18:26
Puntos: 210
Determinar el rango entre celdas, pero omitir las celdas vacias

Saludos a todos,

 

tengo una situación y quiero saber si pudieran apoyarme con ello

 

La situación es la siguiente:  tengo la siguiente matriz de datos(tabla abajo), en la cual se estan registrando datos de manera cotidiana, requiero procesar dicha información de manera estadística, pero me encuentro con el siguiente problema: necesito determinar el rango de la matriz descrita, se debe de realizar de la siguiente manera:

 

Rango:                                   (D1-C1)=4.1, (E1-D1)=2.2, (F1-E1)=-4.9,(G1-F1)=-2.5                            4.1       2.2        -4.9       -2.5

                         (C2-G1)=-1.3,(D2-C2)=1.1, (E2-D2)=-82.30, (F2-E2)=77.71,(G2-F2)=-2.11       -1.3      1.1      -82.30      77.71   -2.11

                         (C3-G2)..............        

                              .

                              . 

al final debo de obtener el promedio de todos los datos, el problema es el siguiente, cuando tengo una celda vacia me arroja un rango muy elevado como se ve en el ejemplo arriba y no puede ser asi, yo necesito hacer que se omitan dichas celdas vacias, cabe mencionar que en la matriz no siempre estan las mismas celdas vacias, es aleatorio,

 

intenté formularlo con la función si(), pero de manera anedada, me funciona pero toma la primera celda como si tuviera valor, por ejemplo, si en la celda c1 hubiera valor, entonces la función me restaria el valor de d1-c1 y da un valor correcto, pero que pasa si la celda c1 no tuviera valor, aun asi la funcion me haria la suma dandome un valor muy alto.

 

es donde pido que me apoyen para ver la posibilidad de formularlo correctamente un otra forma que se les ocurra, espero me haya explicado correctamente, de cualquier forma anexo un archivo a éste mensaje en la cual se aprecia perfectamente la formulación que he hecho, la sombreado de gris es la matriz que se esta llenando con numeros de manera aleatoria, a la derecha lo que esta en rojo fue la primera formulación que hice para que la primera celda la tomar como si tuviera valor, lo que esta en verde trate de formular la segunda celda pero ya no obtube resultado y me di cuenta que conforme se agregan funciones si() se vuelve mas dificil de entender.

 

espero puedan apoyarme con ello, ya que actualmente tengo que trabajar con los datos de manera manual copiar y pegar y eliminar vacios, pero la cuestion es que son mas de 100 matrices por separado y es mucho tiempo el que pierdo.

 

es por ello que recuro a Ud los expertos.

 

Fabián

   

 cdefg
Bitmap
1
83.6087.7089.9085.0082.50
281.2082.30 77.7175.60
377.5085.2075.6077.1175.70
480.5081.3072.3778.3282.85
579.4083.7082.6586.6883.66
679.2081.2081.5087.4081.80
783.5080.1084.0085.5084.20
886.5081.7084.7081.3078.80
985.8285.2282.1086.3090.00
1081.4082.3381.5083.3084.00
1177.7075.4481.5087.4082.10
1281.5372.8585.8084.6085.30
1374.0080.5080.0083.4082.40
1483.7084.1079.1078.2082.30
1575.5085.5079.5081.1080.40
1685.5088.6084.4079.2085.30
1786.6086.0086.0084.5083.00
1683.2082.1084.1085.5084.00
1984.6082.5082.9085.2081.40
2082.5083.9081.0075.2084.40
2179.0074.2085.5085.0084.80
2281.4089.6088.3087.00

83.80

AdjuntoTamaño
Office spreadsheet icon prueba.xls48.5 KB
Fabián
Imagen de Fabián
Offline
última acción: Hace 9 años 6 meses
Nivel 1 - 200 puntos
alta: 10/04/2013 - 18:26
Puntos: 210
Re: Determinar el rango entre celdas, pero omitir las celdas ...

al momento de enviarlo se movio la matriz como la habia acomodado en el mensaje, en el archivo anexo se pueden dar mejor una idea.... 

 

 

saludosa todos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 18 horas 35 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Determinar el rango entre celdas, pero omitir las celdas ...

Unas preguntas.

¿qué quieres calcular? hablas de una media, pero deduzco de la hoja entiendo que lo que quieres es calcular la diferencia de un dato con el anterior (con el anterior que tenga dato)

¿es fundamental esa presentación en 6 columnas? ¿son conceptos diferentes?¿qué representa cada fila?

porque igual sería todo más cómodo si los datos estuviesen en una columna, se eliminan los vacíos y listo.

 

 

 

 

------
Ya sé Excel, pero necesito más.

Fabián
Imagen de Fabián
Offline
última acción: Hace 9 años 6 meses
Nivel 1 - 200 puntos
alta: 10/04/2013 - 18:26
Puntos: 210
Re: Determinar el rango entre celdas, pero omitir las celdas ...

pacomegia, gracias por apoyarme,

Quiero calcular el rango entre cada dato y al final obtener un promedio, el formato de 6 columnas es fundamental, ya que así es como se capturan los datos, cada fila representa la calidad de un producto determinada a cierta hora, por ende en cada fila son 6 calidades analizadas de manera aleatoria, más no siempre se toman las 6 muestras.

 

se me habia ocurrido utilizar macros, de ahi lo que anteriormente te preguntaba en ejecutar varias macros, con ésto intenté llamar la información del archivo original y pegara la información en otra hoja, ahi deberia la macro eliminar vacios y todo, más sin embargo cuando la ejecuto si lo hace bien, pero cuando se modifican los datos en el archivo original, la macro ya no funciona porque ya no llama la información actualizada.

 

igual te agradeceira si se te ocurre alguna forma de hacerlo, a final de cuentas puede ser modificado, más no he podido encontrar la forma de hacerlo.

 

por tu apoyo gracias

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 18 horas 35 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Determinar el rango entre celdas, pero omitir las celdas ...

echa un vistazo a este envío http://www.necesitomas.com/reordenar_datos_excel

Explica una conversión parecida a la que necesitarías para reordenar los datos (en el ejemplo hay encabezados y en tu caso no, pero es simplemente ajustar el bucle).

Como tus datos se actualizarán, debes plantea la macro para que tome los datos desde la hoja actualizada y los ponga donde hagas el resumen.

tu proceso sería recibir los datos nuevos, y pulsar un botón para que los pase a la hoja de resumen que ya tendrás configurada (que sobreescriba los datos antiguos y ponga los actualizados, porque la macro no tarda nada en hacer esto)

 

------
Ya sé Excel, pero necesito más.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Determinar el rango entre celdas, pero omitir las celdas ...

A mí se me ocurre aplicar una macro que "recoloque" los datos en una sola columna. En una segunda pasada, eliminas las filas vacías a la vez que copias la fórmula en la segunda columna.

Ya solo te queda hacer la media de los valores de la segunda columna.

 

Sería algo así:

 

Sub recoloca()

Dim fila, columna As Integer

Dim marcador As Boolean

 

 

Range("C2").Select

Do While ActiveCell.Value <> "FIN"

  fila = ActiveCell.Row

  For columna = 0 To 4

    Cells(1 + (fila - 2) * 5 + columna, 10).Value = Cells(fila, columna + 3).Value

  Next

  ActiveCell.Offset(1, 0).Select

Loop

Cells(1 + (fila - 2) * 5 + 5, 10).Value = "FIN"

 

Range("J1").Select

Cells(2, 11).Formula = "=J1+J2"

Do While ActiveCell.Value <> "FIN"

If ActiveCell.Value = "" Then

  marcador = True

  ActiveCell.Delete xlShiftUp

End If

  If Not marcador Then ActiveCell.Offset(1, 0).Select

  marcador = False

Loop

fila = ActiveCell.Row - 1

Range("K2").Select

Selection.AutoFill Destination:=Range("K2:K" & fila)

 

Range("L1").Select

ActiveCell.FormulaR1C1 = "=AVERAGE(C[-1])"

Range("L1").Select

 

End Sub

 
Esto te coloca en la celda L1 el promedio de todas las diferencias entre celdas.
Para que funcione, es imprescindible que escribas FIN en la celda C siguiente a la última fila en la que haya datos.
 
 
Un saludo
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Determinar el rango entre celdas, pero omitir las celdas ...

Perdona, Paco, contestamos a la vez.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 18 horas 35 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Determinar el rango entre celdas, pero omitir las celdas ...

y eso que aquí que no hay mucho tráfico, imagínate cómo tiene que ser en un foro de millones de visitantes.

voy a pensar en establecer turnos.

 

------
Ya sé Excel, pero necesito más.

Fabián
Imagen de Fabián
Offline
última acción: Hace 9 años 6 meses
Nivel 1 - 200 puntos
alta: 10/04/2013 - 18:26
Puntos: 210
Re: Determinar el rango entre celdas, pero omitir las celdas ...

Muchas gracias a ambos, realmente sus aportaciones son increibles y muy buenas.

 

intentare realizar lo que ustedes me indican y si se me atora algo por ahi les estaré pididendo ayuda de nueva cuenta.

 

 

Saludos