Jump to content

Fecha en el resultado de Función UNIRCADENAS+SI


Recommended Posts

Buenas tardes, por favor necesito de su ayuda ustedes que son los expertos en el tema.

Estoy realizando una formula que me busque todos los resultados envase a una referencia y que me concatene, el problema es en que la referencia es formato numero y el resultado es en formato fecha, no se como hacer para que al final el resultado salga en fechas concatenadas.

UNIRCADENAS("-";VERDADERO;SI(M174=M2:M167;R2:R167;""))

image.thumb.png.1315ca484bde74dd60dc88db8e3c7428.png

 

image.png

Link to post
Share on other sites

¡Hola, @Ruben_sk8! ¡Bienvenido al foro!

Para la próxima, ten en cuenta subir un archivo ejemplo (no necesita ser el archivo completo, con un extracto con datos no sensibles es suficiente), mostrando lo que tienes y deseas obtener, para que quien te ayuda tenga el panorama completo.

En este caso, tu consulta es más bien sencilla, así que, se entiende lo que quieres lograr.  Para ello, debes usar la función TEXTO, así:

=UNIRCADENAS("-";;SI(M174=M2:M167;TEXTO(R2:R167;"dd-mm-yyyy");""))

Nota: Si tienes Excel 2019, debes presionar Ctrl + Shift + Enter para introducir la fórmula, mientras que si tienes Microsoft 365, no es necesario.

¡Bendiciones!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Hola a todos y gracias por vuestra ayuda de antemano. Me he encontrado con un problema que no sé muy bien como resolver, espero que alguien me pueda hechar una mano, porque ya le he dado mil vueltas y estoy atascado, la verdad. Gracias.     Sub buscar() 'Caso 1, compara fila por fila en el rango C1:C100 'Si en una fila encuentra el valor 1 y además el CheckBox1 está marcado escribe ok en F1 'Pero esta condición solo se ejecuta si el CheckBox1 está activado 'Si quiero recorrer todo el rango y escribir ok en cada acierto: 'Worksheets("Hoja1").Range("f" & i).Value = "ok" Dim i As Integer For i = 1 To 100 If Worksheets("Hoja1").Range("c" & i).Value = 1 _ And Worksheets("Hoja1").CheckBox1.Value = True Then Worksheets("Hoja1").Range("f1").Value = "ok" End If Next i End Sub Sub buscar2() 'Caso 2, compara todos los Checkbox con en el rango C1:C100 'Ejemplo caso 1: si Ai = 1 y CheckBoxi = True entonces se escribe ok en Fi 'Ejemplo caso 2: si A1 y A3 = 1 y CheckBox1 y CheckBox3 = True entonces se escribe ok en G14 'El problema en el caso 1 es que no puedo asignarle i al nombre del CheckBox 'Y en el caso 2 tampoco sé como crear las distintas combinaciones entre cada una de las filas 'comprendidas en el rango C1:C100 con sus respectivos CheckBox 'sin escribir un millón de if 'Problema 1 con el caso 1 Dim i As Integer For i = 1 To 100 If Worksheets("Hoja1").Range("c" & i).Value = 1 _ And Worksheets("Hoja1").CheckBox(i).Value = True Then Worksheets("Hoja1").Range("f" & i).Value = "ok" End If Next i 'Problema 2 con el caso 2 If Worksheets("Hoja1").Range("c1").Value = 1 _ And Worksheets("Hoja1").CheckBox1.Value = True _ And Worksheets("Hoja1").Range("c2").Value = 1 _ And Worksheets("Hoja1").CheckBox2.Value = True Then Worksheets("Hoja1").Range("G14").Value = "ok" End If If Worksheets("Hoja1").Range("c1").Value = 1 _ And Worksheets("Hoja1").CheckBox1.Value = True _ And Worksheets("Hoja1").Range("c3").Value = 1 _ And Worksheets("Hoja1").CheckBox3.Value = True Then Worksheets("Hoja1").Range("G14").Value = "ok" End If 'CheckBox1 + CheckBox50, CheckBox14 + CheckBox25, CheckBox1 + CheckBox1 + CheckBox2 + CheckBox3 + CheckBox15 + CheckBox50 ....etc End Sub   demo.xlsm
    • Buenos días compañeros, @JSDJSD Estoy utilizando la solución que me prestaste en la empresa y me solucionaste la vida a parte de estar super contento, y he añadido muchas cosas más. Ahora me encuentro con otro problemilla que me gustaría añadir y no sé como implementarlo en tu codigo. Necesito que en el textbox se obligue a añadir un mínimo de 8 caracteres y un maximo de 17 y si no es correcto que se termine la macro. No sé si me explico. He intentado añadir este código pero creo que no sé implementarlo correctamente ya que pongas lo que pongas me salta que tengo que poner 8 caracteres mínimo.   If Val(TextBox1) < 8 Or Val(TextBox1) > 17 Then MsgBox "Rango invalido. Mínimo 8 caracteres. Gracias." Exit Sub End If   No sé si me podrías ayudar de nuevo. Gracias
    • Te he reestructurado un poco él código. Ya comentarás si quieres los combos ordenados y que se añada de forma automática al elegir de la lista. LLAVES.xlsm
    • Hola @gacg1310! Adjunto 2 opciones, la primera usando la función BUSCARV y una columna auxiliar; y la segunda usando funciones matriciales (se ingresan presionando Ctrl + Shift + Enter). La búsqueda la hice en base al número de cédula, ya que los datos de los nombres no son adecuados; para que sirvan, el nombre de cada persona debe escribirse igual en ambas tablas ("ANSELMO SALAMANCA MARTINEZ" no es lo mismo que "ANSELMO MARTINEZSALAMANCA"). Saludos! datos a traer.xlsx
    • Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 3 Then ' Si la celda cambiada petenece a la coluna 3 = "C", entramos ... Application.EnableEvents = False 'Desactivo eventos porque voy hacer cambios en las celdas .Offset(, -1) = Format(Now, "hh:mm") 'Ponemos la hora en la celda, una celda a la Izq, de la celda modificada ' que si estamos en "C" ==> "B" If Len(.Text) = 0 Then .Offset(, -1) = "" ' Evaluo : Sí En la celda cambiada no hay nada, elimino ' lo que hay en la celda una a la Izq Application.EnableEvents = True 'Activamos eventos End If End With End Sub Te dejo el código comentado para que el próximo cambio te lo puedas apañar tú. Saludos
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy