Estoy tratando de hacer la siguiente a través de una fórmula en lugar de VBA o macro (yo no quiero un copiar/pegar solución especial como yo necesitan más control). es posible:

Tengo una columna en la que hay algunas filas en blanco y algunas filas con valores. vamos a llamar a que la columna A. En la columna b, solo quiero copiar las celdas si la columna tiene un valor. si no, la quiero para ir a la siguiente celda en la columna A, pero permanecer en la misma celda de la columna b.

La Columna A

1

2

[en blanco]

4

[en blanco]

6

quiero columna b de la salida (pero sin filas en blanco). esto implicaría que de alguna manera la fórmula necesidad de bucle y que tienen algún lazo de saltarse la lógica:

1

2

4

6

Normalmente sólo quiero definir la celda B1 = A1 para copiarla, pero ya quiero saltar las filas que están en blanco en la columna a, no estoy seguro de lo que hacer, además de a la derecha una macro. Puedo utilizar una matriz o cualquier otra solución creativa? Finalmente, yo también lo uso para elementos con valores específicos (no sólo espacios en blanco).

gracias!

  • Si desea utilizar barry solución a continuación para una de varias condiciones, usted puede hacer algo como lo siguiente (ignora las celdas vacías y las celdas con el valor «8»): =IFERROR(INDEX(A$1:A$10,SMALL(IF((A$1:A$10<>8)*(A$1:A$10<>»»),ROW(A$1:A$10)-MIN(ROW(A$1))+1),ROWS(B$1:B1))),»») ___________________________________________________________________ Usted no puede utilizar condicionales en las matrices, pero usted puede hacer lo siguiente: dailydoseofexcel.com/archives/2004/12/04/…
InformationsquelleAutor jignesh | 2014-01-03

3 Comentarios

  1. 3

    De forma genérica en la celda C2 copiado abajo…..

    =IFERROR(INDEX(Range,SMALL(IF(Range=criteria,ROW(Range)-MIN(ROW(Range))+1),ROWS(C$2:C2))),"")

    confirmar con CTRL+CAMBIO+ENTRAR

    así que aquí si sus datos se encuentra en A1:A10 y desea que los resultados de B1 abajo

    =IFERROR(INDEX(A$1:A$10,SMALL(IF(A$1:A$10<>"",ROW(A$1:A$10)-ROW(A$1)+1),ROWS(B$1:B1))),"")

    confirmar con CTRL+CAMBIO+ENTRAR y copié

    cuando se ejecuta fuera de los datos que obtiene de los espacios en blanco

    • Acabo de probar esto, pero tanto la fórmula tiene un error de sintaxis y no puedo averiguar dónde está. puede usted por favor, eche un vistazo de nuevo? gracias!
    • creo que fiexed el error. hacía falta un ‘)’ en la verdadera parte de la si. pero me da el resultado es incorrecto. pero es cerrar:
    • los datos en filas A1-A7: 1, 2, 3, blanco, 5, blanco, 7 resultado en las celdas B1-B7 en blanco, 1, 1, 3, 5, en blanco, espacio en blanco
    • Gracias. Ambas versiones tienen un pequeño error. también, no estoy seguro de por qué se está dando dos 1 para el primer resultado en la columna b1. también, este aspecto es el uso de un pequeño, pero me gustaría dejar el fin de la misma. alguna sugerencia?
    • tienes razón, pnuts. la versión genérica es la razón: esto también trabajó: =IFERROR(INDEX(A$1:A$10,SMALL(IF(A$1:A$10<>»»,ROW(A$1:A$10)-MIN(ROW(A$1))+1),ROWS(B$1:B1))),»»)
    • sí, la versión revisada no reordenar. he eliminado el mal de los comentarios. la de la derecha es la izquierda.
    • Disculpas – efectivamente había un error en la versión específica 🙁 I se llevó a cabo el MIN de la genérica, pero no pudo sacar la apertura de paréntesis inmediatamente después – ahora editado para ser correcto….
    • …..y sí, no te re-orden. PEQUEÑA función se refiere a los números de fila no los datos (por lo que funciona en el TEXTO también). Encuentra el número de fila de cada partido y luego te da los resultados en orden de FILA, manteniendo así el orden
    • me tomó un tiempo para entender lo que estaba pasando, pero esto es bastante ingenioso señor. Tal vez usted podría desglose de la fórmula para una respuesta más completa.

  2. 0

    Por ESPACIOS en blanco, sólo tienes que copiar la ColumnA a Columnab, seleccione Columnab, Encontrar & Seleccionar, Ir A Especial…, Espacios en blanco, haga clic en una de las celdas seleccionadas, Eliminar… con celdas de Desplazamiento.

    • Gracias. Estoy tratando de hacerlo sin copiar/pegar como tengo un montón de columnas y celdas. Necesito algo más automatizado. Gracias por la sugerencia, aunque.
    • como se puede entender, yo podría hacer una lista de 5 columnas de datos de la muestra, pero es más simple hasta lo abstracto a uno. también digo que me gustaría usar una fórmula en mi pregunta (con bucles del tipo de lógica e incluso el estado de que una matriz es una posible solución). claramente yo no estoy buscando un simple copiar/pegar solución que excel ya proporciona. Barry es exactamente en la pista de la derecha con la solución. No he utilizado los pequeños y conseguir un poco de colgar en él. No quiero ofenderte, pero su respuesta no se dirigen a mi pregunta, que establece lo que estoy después (una fórmula, con la posibilidad de una matriz).
    • Gracias pnuts! He actualizado mi pregunta anterior. Puedo ver cómo era confuso. gracias de nuevo por tomarse el tiempo y esfuerzo a buscar y contestar a mi pregunta.
  3. 0

    Si usted no se preocupan por el orden de los números (como una matriz que va a ser desechado o analizado con un histograma), luego simplemente copia la fila y pegar solo los valores en la otra fila. Ahora acaba de ordenar la fila de valores. Se colocará todas las celdas vacías en la parte inferior de la selección.

Dejar respuesta

Please enter your comment!
Please enter your name here