Jump to content

pegones1

Members
  • Content Count

    768
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by pegones1

  1. Prueba la macro de Macro Antonio, valga la redundancia, modificada: Sub Desconcatenar() Cells(1, 1).Activate Do While ActiveCell <> "" AuxString = Mid(ActiveCell, 1, InStrRev(ActiveCell, "//") - 1) Serie = Split(AuxString, "//") For x = 1 To UBound(Serie) Cells(ActiveCell.Row, x + 1) = Serie(x) Serie2 = Split(Serie(x), ";") For y = 0 To UBound(Serie2) Cells(ActiveCell.Row + y, x + 1) = Serie2(y) Next y Next x ActiveCell.Offset(1, 0).Activate Loop End Sub[/CODE]
  2. Si tienes la versión de Excel 2010 instalada, y una página Web o un blog de tu propiedad, desde esta semana puedes incrustar libros Excel que podrá ver e incluso editar cualquier visitante de tu blog. Microsoft permite ahora que los workbook que se guarden en SkyDrive con formato Excel 2010, del tipo .xlsx o .xlsb solamente, puedan ser compartidos. Aunque aún tiene bastantes limitaciones al no poder emplear macros ni VBA, ni otras características. Embedding Excel Web App in your own web page or blog - Microsoft Excel 2010 - Site Home - MSDN Blogs Forma parte de: Introducción a Office Web Ap
  3. Hola jackpvs, compruébalo ahora mismo con Microsoft ExcelWebApp, la nueva herramienta de Excel para insertar hojas de cálculo en blogs y páginas web, y para no tener que esperar llegar al 2050 la acabo de introducir en mi blog: Cómputos que hacen la "Pascua" | Pedro Wave Blog Spot Como ves, en las columnas C y E hay cálculos que hacen "la Pascua" porque las fórmulas originales que aparecen en las páginas web están escritas con el formato de fechas en inglés y funcionarían cambiando la configuración regional del sistema operativo. Por ejemplo, para la fórmula original en inglés: =DOLLAR(
  4. Adjunto fichero con varias funciones y fórmulas que calculan los domingos de Semana Santa según el Calendario Gregoriano desde 1900 hasta 2204, año para el que fallan todas las fórmulas. Sería interesante encontrar una fórmula mejor. En la columna B está el mejor algoritmo reconocido con el que se comparan las fechas. Los domingos de Pascua erróneos se marcan de naranja y los errores de cálculo en rojo. DomingoPascua.zip
  5. Como Super Macro Antonio supongo que ahora tendrás que ser más moderado en tus citas para no herir susceptibilidades. Desde Zaragoza comparto contigo la gran pérdida de un hombre que ha hecho historia, desde sus comienzos políticos en el PSA - Partido Socialista de Aragón, durante la Transición Española, de la que guardo un tremendo recuerdo por haber estudiado en el colegio de la familia Labordeta, en el que aprendí la utopía que encierra el Canto a la Libertad. La historia nos cuenta que la Batalla de Zaragoza, durante la Guerra de Sucesión en 1710, fue la última oportunidad para que la Co
  6. Hay cálculos que nos fastidian porque son muy difíciles o porque no nos salen y decimos que nos hacen la Pascua en sentido figurado. Los cálculos o Computus que propongo son para obtener el Domingo de Pascua (Easter Sunday) que han hecho "la Pascua" a los matemáticos, astrónomos, programadores y calculadoras humanas desde el siglo IV. Hasta logroastur intentó resolver los días de Semana Santa en el post #53 del tema Número de semana. Para que estos cálculos no nos hagan "la Pascua" y no nos fastidien dando fechas equivocadas, he recopilado las fórmulas y UDFs más precisas y curiosas que cal
  7. pegones1

    Juegos

    Como veo que este tema está parado, comparto un juego para romper canicas que me hizo pasar muy buenos ratos en mi primera PDA táctil. Era el juego Bubble Breaker o Rompedor de Burbujas que en esta versión Excel se llama JawBreak o RompeMandíbulas. Está escrito por Andy Pope en su página web AJP Excel Information Se puede descargar desde aquí: jawbreak.zip INSTRUCCIONES: La idea es conseguir la puntuación más alta seleccionando canicas o bolitas adyacentes del mismo color. Cuantas más canicas haya más alta es la puntuación. Haga clic en una canica y todas las canicas adyacentes se
  8. Por lo que a mí respecta, sólo me queda dar las gracias a Macro Antonio, que ha contribuido con sus macros y UDF, a sailepaty por aportar su propia versión con fórmulas a este tema (lástima que no haya más propuestas) y a todos los usuarios lectores que se han interesado o se vayan a interesar en el futuro de cómo separar texto en celdas.
  9. ¿Has probado tu fórmula con textos de más de 100 caracteres? Como éste: 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 1111111111,2,3,4,5,6,7,8,9,10 Ya no sale el 2 en la segunda celda separada
  10. En mi fórmula sustituyo el separador por un salto de línea lo que para listas de números es genérico. He partido de que todos los casos de ejemplo no contenían strings en varias líneas. Es cierto que con strings conteniendo saltos de línea habría que sustituirlo por otro carácter o combinación de caracteres que no aparecieran en la cadena de texto. Para Excel 2007 y 2010 la fórmula es más sencilla: =SIERROR(MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";C$18));ENCONTRAR(" ";SUSTITUIR($A1&$B1;$B1;" ";C$18))-ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";C$18)));"") Y tu fórmula
  11. Estoy de acuerdo contigo en todo pero hay que tener en cuenta las limitaciones de estas fórmulas y, sobre todo, los límites de Excel para trabajar con strings: 32.767 caracteres en una celda. En tus fórmulas sustituyes cada carácter separador por 500 espacios en blanco, por lo que una cadena de texto como: 1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,,,,,,,,,,,,,,,,,31,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132 produce error: #¡VALOR! al necesitar más espacio por celda a separar del disponible. Para abarcar más de 130 celdas a separa
  12. Normalmente el auxiliar de relleno no será necesario introducirlo en las celdas separadas vacías ya que se usa su valor por defecto (espacio en blanco " " o string nula ""). En este caso la fórmula del post #16 se simplifica bastante: =SIERROR(MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";C$18));ENCONTRAR(" ";SUSTITUIR($A1&$B1;$B1;" ";C$18))-ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";C$18)));"")[/CODE] En el caso más corriente de que el carácter separador sea la coma "," y sustituyendo la fila auxiliar por el número de celda a separar, resulta esta fórmula más simple: [CO
  13. Gracias fornelasa, la verdad es que con macros ya había un tema: Macro para separar texto y valores en Distintas columnas que Macro Antonio (hasta ayer conocido como Antoni Ayala) se encargó de resolver magistralmente, como siempre. Lo que intento con este tema es ir por el camino de las fórmulas para quienes no tengan o no gusten de habilitar las macros...
  14. Para que la fórmula anterior del Post #15 sea independiente del número de columnas (entre la celda en la que se está separando el texto y la primera de ellas) hace falta una fila auxiliar con números enteros consecutivos (1, 2, 3, ..) Si la fila auxiliar es la 18, la fórmula será: =SIERROR(MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";D$18));1)&MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";D$18))+1;ENCONTRAR(" ";SUSTITUIR($A1&$B1;$B1;" ";D$18))-ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";D$18))-1);$C1)[/CODE] La fila auxiliar hace las veces de argumento a la fu
  15. sailepaty, veo que has captado la esencia de este tema, que no es otra que olvidarse de los algoritmos y usar las fórmulas de Excel para separar textos, como si existiese la función DESCONCATENAR en Excel ¡que no existe! Como todo (o casi todo) se puede hacer de diversas maneras y gracias a tus ideas, propongo otra solución con una única fórmula y sin tener que repetir 500 veces el espacio en blanco (por cierto, tu solución es muy ingeniosa ) =SIERROR(MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";COLUMNAS($D1:D1)));1)&MED($A1;ENCONTRAR(" ";SUSTITUIR($B1&$A1;$B1;" ";COLU
  16. fornelasa, la opción Texto en columnas de Excel, que expuse en el Post #4, no es interactiva y cada vez que se cambia el texto obliga a pasar por el Asistente para convertirlo...
  17. Concatenar texto alfanumérico es fácil pues existe la función CONCATENAR(texto1; [texto2]; ...) o también se puede utilizar el operador de cálculo símbolo (&) para unir elementos de texto. Lo que no existe es una función para DESCONCATENAR texto en varias celdas, aunque Excel lo resuelve como cuando importa datos externos. Si en la celda A1 se escribe el texto alfanumérico a separar, por ejemplo: 1,ab,33,cde,4444 Se borran las celdas B1:F1 y se selecciona la celda A1 En el menú Datos, hacer click en Texto en columnas Se abre un Asistente para convertir texto en columnas, como se expl
  18. Acabo de subir los archivos que se borraron al Hilo de Animaciones Post #46 sin problemas. ¿Qué hiciste este finde? ¡A ver cuánto dura, dura!
  19. Aquí está el fichero con la solución propuesta sin macros para separar texto alfanumérico en varias celdas: SepararTextoAlfanumerico.xls Lo he subido a mi SkyDrive porque sigo sin poder subir ficheros al foro. Espero que algún "Super-Merodeador" me lo pueda subir
  20. En VBA y en otros lenguajes de programación es fácil separar texto alfanumérico, pero no lo es tanto usando las fórmulas de Excel. Para preparar unos diagramas de Gantt en Excel necesitaba separar la lista de predecesores de una tarea representados como "6,10,24" y obtener los números separados por comas en otras celdas. Después de buscar una solución, he intentado mejorarla para que sea más general y he obtenido el siguiente resultado: En la columna B se define el tipo de separador: un carácter alfanumérico, por ejemplo la coma "," En la columna C se define el texto a incluir cuando no
  21. En la fórmula de mi mensaje anterior no se contemplan casos como: 1h2m3s o 1h3s La siguiente fórmula contempla también esos casos: =HORANUMERO(SI(ESERROR(HALLAR("h";A1));"00";EXTRAE("0"&A1;HALLAR("h";"0"&A1)-2;2))&":"&SI(ESERROR(HALLAR("m";A1));"00";SUSTITUIR(EXTRAE("0"&A1;HALLAR("m";"0"&A1)-2;2);"h";"0"))&":"&SI(ESERROR(HALLAR("s";A1));"00";SUSTITUIR(SUSTITUIR(EXTRAE("0"&A1;HALLAR("s";"0"&A1)-2;2);"m";"0");"h";0)))[/CODE] No olvides poner el formato personalizado de hora "hh:mm:ss" en la celda. La he probado en Excel 2010: [CODE]=VALHORA(SI(ESERROR
  22. Tontiploster, prueba copiando esta fórmula: =HORANUMERO(SI(ESERROR(HALLAR("h";A1));"00";EXTRAE("0"&A1;HALLAR("h";"0"&A1)-2;2))&":"&SI(ESERROR(HALLAR("m";A1));"00";EXTRAE("0"&A1;HALLAR("m";"0"&A1)-2;2))&":"&SI(ESERROR(HALLAR("s";A1));"00";EXTRAE("0"&A1;HALLAR("s";"0"&A1)-2;2)))[/CODE] No olvides poner el formato personalizado de hora "hh:mm:ss" en la celda. Es más fácil de leer con saltos de línea así: =HORANUMERO( SI(ESERROR(HALLAR("h";A1));"00";EXTRAE("0"&A1;HALLAR("h";"0"&A1)-2;2))&":"& SI(ESERROR(HALLAR("m";A1));"00";EXTRAE("0"&
  23. He editado el post #19 porque no puedo demostrar lo contrario en referencia a Colombia, aunque me gustaría poder demostrar lo siguiente en relación con el separador de decimales, con la ayuda de los comentarios de los usuarios de este foro: No parece ser que en Colombia se esté imponiendo el uso del punto "." para agradar a los países angloparlantes. De lo que si hay constancia y muchas referencias escritas es de México: Es curioso el caso mejicano que tienden a usar el punto "." cuando la norma oficial mexicana indica el uso de la coma decimal "," De lo que nadie ha discutido hasta ahora
  24. Suponiendo que el formato exportado siempre sea del mismo tipo: HHhMMmSSs y que el ciberjugador no esté más de 24 horas enganchado a la máquina, se puede presumir que los valores de horas HH, minutos MM y segundos SS estarán siempre en posiciones fijas, por lo que se puede intentar con: =HORANUMERO(EXTRAE(A1;1;2)&":"&EXTRAE(A1;4;2)&":"&EXTRAE(A1;7;2))[/HTML] Lo he probado en Excel 2010 pero, como han cambiado los nombre de las funciones, sería así: [HTML]=VALHORA(MED(A1;1;2)&":"&MED(A1;4;2)&":"&MED(A1;7;2))[/HTML] No olvides poner el formato de hora "hh:mm:s
×
×
  • Create New...

Important Information

Privacy Policy