Diferenciar números de comas (,) en una celda

Buenas:
Como siempre agradecido por las ayudas que me ofrecen y las cuales me han ayudado a aprender cada vez más.
En esta ocasión necesito me ayuden con algo quizás sencillo:
Tengo celdas con días del mes separados por comas (,) ejemplo:
A1=5,7,9,10,12,15,19,20,21,22,24,27,29,31
lo mismo se repite en todas las celdas de la columna A
lo que ahora necesito es que en la celda B de cada Fila se cuente solo los números, es decir que me diga cuantos días del mes tiene cada celda.
No se si se puede hacer con fórmula o quizás con una macro en VBA
Agradecería ambas ayudas.
Saludos
Darwin Aguilar
Respuesta
1
Si solo quieres saber los días que están en cada celda la manera más sencilla seria esta fórmula
=LARGO(A1)-LARGO(SUSTITUIR(A1;",";""))+1
Esto te cuenta las comas que tienes, como al final no esta la coma le añado +1
Pruébalas y ya me cuentas si era eso lo que necesitas
Excelente ayuda, sin embargo hay un detalle que me acabo de dar cuenta, en caso por error yo escriba 2 comas juntas (,,) me cuenta un numero más a pesar de no haber nada en medio de esas dos comas.
¿Alguna manera de poder solucionar ello?
Saludos
Normalmente si se comete un error la fórmula te lo podría indicar pero en este caso no se como encontrar la fórmula para que te marque el error
Pero si encontré una solución que es esta fórmula
=LARGO(A1)-LARGO(SUSTITUIR(A1;",";""))-(LARGO(A1)-LARGO(SUSTITUIR(A1;",,";-1)))
Con ello le digo que si encuentra dos comas juntas descuente una
Pero solo funciona si Hay un error si son 2 ó más ya no los de cuenta
lo más fácil si es que crees tener errores seria entrar en buscarysustituir, buscas,, y las sustituies por,
si lo crees necesario te paso el código para una macro que te cambie 2 comas por una sola
=LARGO(A1)-LARGO(sustituir(A1;",";""))+1+(LARGO(A1)-LARGO(sustituir(A1;",,";111)))
Lo de las minúsculas es porque no me deja enviártela porque me dice demasiadas mayúsculas en el texto pero copia la fórmula así que ella sola se corrige
Gracias...
Debe de haber un error pero no me detecta las dos comas...
Más bien te agradecería que me envíes el código macro pues se que con macros todo es posible y más fácil...
Saludos
Pon este código y asignalo a un botón o acceso directo
Sub Macro1()
'
    Cells.Replace What:=",,", Replacement:=",", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    ActiveCell.FormulaR1C1 = "=LEN(RC[-1])-LEN(SUBSTITUTE(RC[-1],"","",""""))"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas