Elegir datos de celdas cuando se da una condición

Rogaría respuesta a la siguiente duda:
En la columna A sitúo muchas fechas algunas repetidas.
En la columna B sitúo los NÚMEROS DE CADA FACTURA que corresponden a cada una de las fechas.
Lo que necesito es que en una celda cualquiera p.ej. La C1 me indique los NÚMEROS DE FACTURAS CORRESPONDIENTES AL MES DE ENERO, SEPARADOS POR UN GUION O UNA COMA,(NO QUE ME CUENTE EL NUMERO DE FACTURAS DEL MES DE ENERO)
En la celda c2 todos los números de facturas correspondientes al mes de febrero de igual manera. Si tienes que hacerlo utilizando VB (lo desconozco mucho) ponme todo el código para solo copiar.
Un abrazo.
Respuesta
1
Intuiste bien. MS Excel no cuenta con una función natural que haga lo que solicitas.
Sin embargo, VBA permite generar tus propias funciones, en tanto y en cuanto sepas como programarlo. (Niños, no intenten esto en sus casas :))
Lo que sigue es una Función Definida por el Usuario (UDF, su sigla en inglés) que devuelva en otra celda el resultado que pretendes.
Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código:
Public Function FactMes(ByVal ElMes, ListaFech As Range)
Application.Volatile
ListaFact = ""
For Each FechaAc In ListaFech
If Len(FechaAc) = 0 Then GoTo 88
MesAc = Month(FechaAc)
If MesAc = ElMes Then
ListaFact = IIf(Len(ListaFact) > 0, ListaFact & "-", "") & Trim(FechaAc.Offset(0, 1).Value)
End If
88: Next FechaAc
FactMes = IIf(Len(ListaFact) > 0, ListaFact, "No hay facturas para el mes " & ElMes)
End Function
Cierra el editor y graba el archivo.
Bien, ahora este archivo dispone de una fórmula más que devuelve en una celda el listado de facturas correspondientes a un mes.
Así, la fórmula para obtener los números de factura del mes de Enero, en C1 será:
=FactMes(1,$A$1:$A$1222)
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ","]
Como ves, el primer argumento de la fórmula es el mes que buscas. También podría ser la referencia a una celda donde coloques el mes, funciona igual.
El segundo argumento es el rango de fechas que, desde luego, podrás modificar para adaptarlo al que tengas en realidad.
Para C2 (febrero) copia la celda anterior y reemplaza el valor 1 por 2. Como ves, funciona como cualquier otra fórmula de MS Excel
Esto se parece muchísimo a lo que pedías. Pero dime si no es así.
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
A cambio de mi tiempo, sólo te pido dos cosas:
- Finaliza (con puntaje y comentario) esta pregunta
- Ingresa al sitio www.porloschicos.com y, si quieres,
presiona el botón de donación (es gratis).
Confío en que lo harás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas