Al escribir fórmulas debemos evitar siempre que podamos anidar funciones SI (sobre todo cuando tenemos información que se repite).
Por favor, prueba la siguiente fórmula:
=SI.ERROR(
LET(
id, B3,
fecha_ref, F3,
rango_ids, '[Base Snte 05 Coah 2.xlsx]Pagos'!$F$2:$F$10000,
rango_fechas, '[Base Snte 05 Coah 2.xlsx]Pagos'!$K$2:$K$10000,
rango_resultado, '[Base Snte 05 Coah 2.xlsx]Pagos'!$D$2:$D$10000,
diferencia, ABS(rango_fechas - fecha_ref),
filtro, (rango_ids = id) * diferencia,
min_dif, MIN.SI.CONJUNTO(diferencia, rango_ids, id),
fila, COINCIDIR(min_dif, filtro, 0),
INDICE(rango_resultado, fila)
),
"No encontrado")Coméntanos si funciona.
Por
Sergio, · publicado
Que tal!!
Tengo un pequeño problema para filtrar unas fechas de una columna, tengo dos fechas que obtengo de una caja de textos...
Asi las obtengo:
FechaOrigen = Format(Caja1.Text, "mm/dd/yyyy hh:mm")
FechaDestino = Format(Caja2.Text, "mm/dd/yyyy hh:mm")
Fecha1 = CDate(FechaOrigen)
Fecha2 = CDate(FechaDestino)
Teniendo las primeras dos variables de arriba como DATE y las otras dos variables como DOUBLE
Posteriormente tengo este codigo que es donde selcciono la hoja origen y toda la columna de fechas:
Sheets(HojaDescargada).Select 'HojaDescargada es una variable tipo String
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.AutoFilter
Es aqui donde obtengo el error
ActiveSheet.Range("$C$2:$C$C").AutoFilter Field:=1, Criteria1:= _ '$C$9698
">=" & Fecha1, Operator:=xlAnd, Criteria2:="<=" & Fecha2
Como a la hoja se le siguen introduciendo datos pense que con $C$C buscaria en todas sin poner un numero entero,
tengo 9698 filas y si lo cambio no me esta filtrando bien, ¿Tengo un problema en mi codigo?
Posteriormente quiero agregar el resultado del filtro a una nueva pestaña y agregue este codigo
Range(Selection, Selection.End(xlToLeft)).Select
Selection.Copy
Sheets(Nombre).Select 'Otro String con nombre de la hoja nueva hecha anteriormente
ActiveSheet.Paste
Sheets(HojaDescargada).Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(Nombre).Select
Range("C2:CC").Select
ActiveSheet.Paste
Obtuve este codigo de un macro grabada pero quisiera que la variable en rojo ajuste al numero de filas y bueno teniendo eso que filtre mis datos