Problema con fórmula SUMA. SI

Te escribo porque necesito ayuda con la función SUMA. SI. El problema es que cuando pongo un criterio que incluye una celda (ej. >B9) me lanza un resultado 0, lo que no ocurre cuando ocupo solo números (>4). Logré suplantar esta fórmula ocupando SUMA y SI, pero el archivo queda demasiado grande con esta forma ya que son miles de datos.
Otro problema que tengo es con los cuadros de lista de los formularios. En el intervalo de entrada ocupo una lista con todos los días del mes con formato fecha (x/x/xx), pero cuando lo vinculo a una celda, aparece la fecha con año 1900. Por eso me gustaría saber como ocupar el cuadro de lista con fechas.

1 respuesta

Respuesta
1
Es cierto, si referencias a una celda el argumento de la función no obtienes resultado alguno.
Sin embargo no es cierto que cuando colocas solo números, la fórmula lo haga.
En realidad la función opera biencuando está escrita de la siguiente manera:
SUMAR.SI(B3:B88;">4";D3:D88)
(nota que es distinta a
SUMAR.SI(B3:B88;>4;D3:D88))
La cual da error)
Por lo tanto, la característica principal de esta función es que utiliza como segundo argumento, una cadena de texto con el criterio deseado
La buena noticia es que -teniendo en cuenta esa característica- es posible que funcione con una referencia al dato que estuviese en una celda.
Simplemente tendrás que concatenar el símbolo con la celda correspondiente. Para ello usa el operador ampersand (&), de esta forma:
SUMAR.SI(B3:B88;">"&B9;D3:D88))
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
----
Con relación a tu segunda pregunta, si los datos de entrada al listbox desde la hoja están formateados como fecha, así aparecen en el listbox.
El problema puede estar en el vuelco en la hoja. Para resolverlo bastará que uses la función DateValue para convertir la salida del listbox y que hayas asignado a las celdas de destino el formato de fecha deseado.
Es decir que tu macro de vuelco a hoja sería:
(Este vuelca todos los elementos del cuadro de Lista)
For dato2 = 0 To ListBox1.ListCount - 1
Pegadato = ListBox1.List(dato2)
ActiveCell.Value = DateValue(Pegadato)
ActiveCell.NumberFormat = "m/d/yy"
ActiveCell.Offset(1).Select
Next dato2
Verás que la macro da formato a la celda, pero no debería ser necesario.
Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)
En caso contrario, puedes preguntarme nuevamente
Aclarando qué entendí mal o qué faltó.
Tardé menos de un día en responder a tu problema. Me pregunto por qué los usuarios se toman tanto tiempo en finalizar sus preguntas pendientes.
Insisto: hay usuarios que no pueden plantearme preguntas porque -entre otros- no has finalizado la tuya.
Muchas gracias Fernando! Me funciono a la perfección tu respuesta. Perdón por no finalizar la pregunta, pero estaba de vacaciones.
Gracias por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas