Ir al contenido principal

funciones: detectar la ultima fila vacia de una tabla (o rango)

Si realmente llevase una estadística de las consultas mas frecuentes, esta y como dectectar valores duplicados, se llevarían los primeros puestos, sin lugar a dudas.
Pero es un desafío interesante: si todas las celdas del rango en cuestion poseen algun valor, la cosa se torna muy sencilla, con la función CONTARA() resuelvo el tema:

Comentarios

  1. MUESTRO UN VALOR DE UN MAXIMO ENTRE 4 NUMEROS HASTA HAI TODO BIEN PERO QUIERO QUE ME MUESTRE EL VALOR QUE HAY EN UNA CELDA EN ESA MISMA FILA DONDE SE ENCUENTRA

    ResponderEliminar
  2. bueno, yo resolvería el tema de la siguiente forma: supongamos que tus datos estan en A1:A4.
    En A10 ingresás la función =MAX(A1:A4) y detectás el mayor valor. Luego, en A11, ponés esta función:
    =COINCIDIR(A10,A1:A4,0). Esto te devolverá la posicion de ese valor en el rango y de esa forma obtenés la fila. Ahora bien, vos me decis que el valor está en una celda contigua, por ejemplo en la columna B.
    En A12 ingresás: =INDIRECTO("B"&A11). y listo, ya tenés el problema resuelto.
    Te hice el "paso a paso"... para evitar el uso de tantas celdas auxiliares, podes hacer lo siguiente en A10, anidando todas las funciones:
    =INDIRECTO("B"&COINCIDIR(MAX(A1:A4);A1:A4;0))

    por si el ejemplo no te queda en claro, aqui tenés un link a un archivo que te preparé para que puedas observar "en vivo" lo que expliqué.
    que tengas suerte, gracias x tu consulta y no olvides avisarme si te sirvió. un abrazo.

    https://sites.google.com/site/damianomarsilva2/indirecto.xls?attredirects=0&d=1

    ResponderEliminar
  3. hola amigo primero que nada felicitaciones por el blog es exelente . bueno te paso a esribir mi duda. necesito armar una planilla de horarios que muestre de lunes a viernes en cada columna y 5 filas con diferentes mudulos de horarios ej: fila 1 (de 7:30 a 8:30) f2( de 8:30 a 9:30)f3(de 9:30 a 10:30) f4(de 10:30 a 11:30)f5(de 11:30 a 12:30)bueno hasta aca bien ahora necesito que por ejemplo si el lunes tengo ocupado los dos primeros modulos con por ejemplo educacion fisica que muestre en otra columa que esas celdas estan ocupadas y que mustre con color las celdas que estan libres algo asi espero me hayas comprendido y muchisimas gracias!!soy benja de bs as

    ResponderEliminar
  4. benjamin: gracias x tu consulta. enviame el archivo a damianexcel@gmail.com, ya que hay algunas cosas que no comprendo.
    el tema de colorear las celdas vacias (aquellas que no tienen ninguna actividad) se puede lograr con el formato condicional: seleccionás el rango en cuestiòn y luego te vas a "formato / formato condicional", desplegás la lista del formulario emergente: "formula" e ingresas esto: =SI($A$A:$C$5="";1;0)
    ahí estás poniendo: si el valor de la celda es igual a "nada" ( "" ), entoces es verdadero y aplicará el formato que hayas seleccionado. de lo contrario (si la celda tiene algun valor) no se aplicará ningún formato.
    pasame tu archivo y te mejoro la respuesta, no entendí que querés decirme con que "muestre en otra columna".
    espero tu Excel y lo solucionamos enseguida.
    Perdoname la demora, pero estoy en un curso de capacitación y recién ahora ingreso a mi mail.

    ResponderEliminar
  5. como agregar un numero de filas segun los datos que tenemos y que lo agregado adopte la formula que hemos predeterminado en cada columna,por ejemplo: si tengo 8 datos y escribo en B2=8, aparezcan 8 filas?

    ResponderEliminar
  6. creo que lo tuyo se soluciona con una macro.
    por favor explicame un poco mas detallado el planteo, por que no lo comprendo del todo.
    gracias

    damian

    ResponderEliminar
  7. Hola Damian, te felicito por tu blog, muy buena info he encontrado.

    Tengo una macro que genera en forma automatica una dinamica, hasta el momento todo bien, pero que pasa si por ejemplo los datos cambian, por ejemplo, la base tiene la misma cantidad de columnas, pero cambia la cantidad de filas. Como logro que la macro discrimine estos cambios sin afectar la dinamica y que no queden datos fuera o se considere las filas vacias. Agradezco desde ya tu ayuda, saludos

    Atte

    Josemiguel

    ResponderEliminar
  8. Gracias por tu mensaje.
    Te comento: al insertar una tabla dinámica en Excel, este le asigna automaticamente un nombre (generalmente Tabla Dinámica 1, Tabla Dinámica 2, etc, etc). Dicho nombre se puede cambiar, dentro de las propiedades de la TD.

    Si quieres saber la ultima fila de una TD este es el código:

    ActiveSheet.PivotTables("Tabla dinámica1").PivotSelect "", xlDataAndLabel, True
    'aqui muestro la ultima fila, aunque seguro necesitas almacenarla en una variable:
    MsgBox Selection.End(xlDown).Row

    y listo. primero la seleccionamos y luego le pedimos a Excel que nos diga cual es la última fila de esa selección.
    Suerte y cualquier cosa me avisas.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

sopa de letras en excel

Un lector me comenta que pudo visualizar varias sopas de letras en YouTube, realizadas con Excel. Inmediatamente me dirigí a dicho sitio y busqué información al respecto. Los ejemplos son buenos y si, efectivamente, podemos armar una muy buena "sopa de letras", salvo que (digamos) es un trabajo bastante manual, cosa que intento evitar a toda costa en mis proyectos. Obviamente que la tarea de automatización incluye Macros, lo cual me insume tiempo, pero queda mucho mejor. Vamos primero a explicar muy brevemente la forma de realizar esta juego "a la clásica", para luego pasar a un desarrollo mucho mas complejo, pero también automatizado y realista. la clásica grilla de una sopa de letras [+/-] Ver el resto / Ocultar Bien, analicemos un poco la imagen superior: 1) es una grilla de 20 filas x 20 columnas, aunque bien podríamos hacerla del tamaño que quisiéramos. 2) Cada celda tiene una letra, que fue generada  mediante la anidación de dos funciones. 3) Vean ahora la ba