Encontrar valores agrupados / consecutivos en Excel

0

Estoy tratando de encontrar valores en una hoja de cálculo de Excel donde se resaltarán números mayores que 0. Sin embargo, los resaltados deben estar agrupados, números consecutivos que deben ser (al menos) tres seguidos.

Por ejemplo:

0
0
0
0
0
0
34
0
0
0
**156**
**190**
**2300**
**190**
**34**
0
0
0
0
0
0
0
0
0
0
17732
0
0
0
0
**2000**
**2900**
**1000**
0
0
0
0

Los números en negrita deben tener sus filas completas resaltadas / coloreadas en Excel.

¿Hay un método simple para hacer esto? Preferiblemente sin VBA.

EXTRA: Encuentra números que casi tienen la regla de los 3 grupos. Por ejemplo:

0
0
0
0
0
0
0
0
0
0
**156**
**0**
**190**
0
0
0
0
0
0
0
0
0
0
17732
0
0
0
0
**2000**
**0**
**3000**
**1000**
0
0
0
0
Keyes34
fuente
¿Puede agregar columnas adicionales a los datos? Es más fácil si puede porque puede usar fórmulas en esas columnas para ayudar.
Julian Knight
Lo siento, pero ¿qué quieres decir con "agregar columnas adicionales"? Tengo (literalmente) miles de valores por los que pasar y eso suena muy laborioso.
Keyes34
Entonces, ¿están siempre separados por un espacio? ¿Están todos en una celda? ¿Una columna? ¿Necesita retener los números no resaltados? Si cada número está en una columna y su propia celda, ¿no puede usar un formato condicional? Cuando dices agrupado quieres decir consecutiva? Intenté limpiar el formato en su pregunta, me estaba haciendo muy difícil de entender.
Raystafarian
Suponiendo que está utilizando una versión nueva de Excel. Agregue una fila en la parte superior para contener el título de una columna, agregue un título a sus datos, "Datos" por ejemplo. Luego, convierta todo en una "tabla" usando el botón que se encuentra en la pestaña INICIO del rubón. Luego puede comenzar a escribir una fórmula en la siguiente columna y Excel llenará cada fila por usted, con muy poco esfuerzo. Todo esto depende de cómo ingrese los datos en la hoja de trabajo. De ahí la pregunta.
Julian Knight

Respuestas:

0

Esto supone que sus valores están en una sola columna, columna A :

ingrese la descripción de la imagen aquí

Queremos las filas 11, 12, 13 iluminadas.

Ejecutando esta breve macro:

Sub KolorRows()
    Dim N As Long, r1 As Range, r2 As Range
    Dim i As Long, K As Long, v As Long, r As Range
    N = Cells(Rows.Count, "A").End(xlUp).Row
    Set r1 = Nothing
    Set r2 = Nothing
    K = 0

    For i = 1 To N
        Set r = Cells(i, "A")
        v = r.Value
        If v = 0 Then
            Set r1 = Nothing
            Set r2 = Nothing
            K = 0
        Else
            Select Case K
                Case 0
                    K = K + 1
                    Set r1 = r
                Case 1
                    K = K + 1
                    Set r2 = r
                Case 2
                    K = 0
                    Union(r1, r2, r).EntireRow.Interior.ColorIndex = 27
                    Set r1 = Nothing
                    Set r2 = Nothing
            End Select
        End If
    Next i
End Sub

Producirá:

ingrese la descripción de la imagen aquí

Las macros son muy fáciles de instalar y usar:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un nuevo módulo
  3. pegue las cosas y cierre la ventana VBE

Si guarda el libro, la macro se guardará con él. Si está utilizando una versión de Excel más tarde que 2003, debe guardar el archivo como .xlsm en lugar de .xlsx

Para eliminar la macro:

  1. abrir la ventana VBE como se muestra arriba
  2. borrar el código
  3. cierra la ventana de VBE

Para usar la macro de Excel:

  1. ALT-F8
  2. Selecciona la macro
  3. Toque EJECUTAR

Para obtener más información sobre las macros en general, consulte:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

y

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

¡Las macros deben estar habilitadas para que esto funcione!

Estudiante de gary
fuente