Jump to content

johnmpl

Moderators
  • Content Count

    3,419
  • Joined

  • Last visited

  • Days Won

    183

About johnmpl

  • Rank
    Advanced Member

Profile information

  • Gender Array
  • Localización: Array

Converted

  • Campos Array

Recent Profile Visitors

4,090 profile views
  1. ¡Hola, luchito11! Para ayudarte de mejor manera, ayudaría que coloques un par de ejemplos con un antes y un después, en tu mismo archivo. ¡Bendiciones!
  2. Hola John, tu y yo nos conocemos y sabes lo buen agradecido que soy siempre a todas vuestras ayudas. He creado un post está vez más sencillo que los anteriores, pero parece ser que el administrador Gerson Pineda se ha cabreado conmigo y no sé por qué. Te dejo el título del post que he creado a escasas horas: Buscar y sustituir el formato de letras sueltas. Espero que vaya todo muy bien. ¡Saludos!

  3. ¡Hola, a todos! Otra opción mucho más sencilla es usar la función TEXTO (TESTO), nativa de Excel. como estamos en el apartado de macros, puedes usar: Sub Giorni() Dim uf&: uf = Range("A" & Rows.Count).End(xlUp).Row With Range("B2:B" & uf) .Formula = "=PROPER(TEXT(A2, ""[$-410]dddd""))" '.Value = .Value End With End Sub Nota: Si quieres solo el resultado (sin la fórmula en la celda), puedes quitar / borrar el apóstrofo ( ' ) de la línea: ' .Value = .Value ¡Bendiciones!
  4. ¡Hola, @GabrielRaigosa! Puedes probar la siguiente medida DAX: =IF( HASONEVALUE(TBL_Detalle_Consumo[FECHA (mes)]); SUM(TBL_Detalle_Consumo[CANTIDAD]); AVERAGEX( SUMMARIZE(TBL_Detalle_Consumo; TBL_Detalle_Consumo[ITEM]; TBL_Detalle_Consumo[FECHA (mes)]; "Valor" ; SUM(TBL_Detalle_Consumo[CANTIDAD]) ); [Valor] ) ) Verifica el archivo con su ejecución en la tabla dinámica. ¡Bendiciones! CONSUMO.rar
  5. ¡Hola, a todos! A continuación haré unas recomendaciones de uso en formulaciones largas multicondicionales que no tienen cosas en común. 1. La idea es que utilices el truco del Alt + Enter entre cada función SI, para que así puedas analizar cómo está conformada cada condición por aviso, y más fácilmente ver los paréntesis que faltan (la cantidad de SI denota la cantidad de paréntesis a cerrar en el final). 2. Condiciones de este tipo: O(T8="SI";T8=""), se pueden resumir a: O(T8={"SI",""}) 3. Es supremamente importante tener en cuenta que la función SI se evalúa por prioridades. Esto quiere decir que en el momento que se cumpla una condición "SUPERIOR" (o de izquierda a derecha), las demás condiciones no son evaluadas. Con base en esta premisa, hay que evaluar qué condición es más importante que otra para colocarla primero. Sabiendo esto, la fórmula que tienes puede quedar así (preliminarmente, coloco colores alternados para que identifiques el cambio de condición - Función SI): =SI(O(Y(P8="SI";O(T8={"SI";""});U8="";AN8="";AO8="";AP8="");Y(V8="SI";O(Z8={"SI";""})));"En subsanación inicial"; SI(Y(AB8="SI";AG8="";O(AF8={"SI";""}));"En subsanación admva"; SI(Y(AH8="SI";O(AL8={"SI";""}));"En subsanación técnica"; SI(Y(AP8="";O(AN8>1;AO8>1));"Pte. Informe técnico"; SI(E8="";""; SI(Y(O(J8={"ALQUILER SOCIAL";"SAD";"TAM";"SUBVENCIONES AUTONOMIA";"VULNERABILIDAD ENERGETICA";"AYUDA SOCIAL";"TARIFA SOCIAL AGUA (I.E."});AQ8="";AR8="";AN8="";AU8="");"Pte. Informe económico"; SI(O(AQ8="SI";AR8>1);"Archivo"; SI(Y(AP8>1;AU8="");"Pte. Notificación"; SI(AU8>1;"Finalizado";"Pte. Dictamen"))))))))) Dicho esto, ahora te quedará más sencillo establecer en dónde colocar las dos nuevas condiciones, sabiendo que por cada condición debes colocar un paréntesis más al final. Ahora bien... trata con estas pautas de hacerlo por ti misma (que supongo conoces las prioridades de cada condición), y postea nuevamente la fórmula mostrándonos tus avances. ¡Bendiciones!
  6. Hola, a ambos! Otra opción puede ser: =SI(IZQUIERDA(B2)="0";REEMPLAZAR(IZQUIERDA(B2;10);10;;"-");B2) Bendiciones!
  7. ¡Hola, a todos! Solo quiero hacer algunas acotaciones... 1. En tu propuesta, Gerson, no funciona el tema en algunas ocasiones (si hay repetidos, como bien lo dice GabrielRaigosa en su aporte). Por ejemplo, si en tu ejemplo colocas Lechuga en A11, y en C6, la fórmula que propones devuelve C11 (la máxima fila y la máxima columna de varias apariciones). Esa es la razón por la cual - si hay repetidos - el análisis hay que hacerlo en conjunto, y no por separado. 2. En mi propuesta, se está limitado a 999 filas y/o 999 columnas (o quizá menos, por la combinación fila/columna de los rangos), por lo que simplemente se podría aumentar los rangos donde se quiere buscar (obvialmente) y el "factor de expansión" de 1000 a un número más grande (por ejemplo, 1000000, en ambas partes de la fórmula, de acuerdo con la cantidad de filas potenciales a buscar). Adicionalmente, un retoque a la fórmula para que funcione mejor. 3. Con la aclaración anterior, y, para evitar escribir dos veces la misma matriz base, se pueden usar rangos formulados (arr en el ejemplo excel), haciendo más fácil la digitación del cálculo base dos veces. 4. También se puede realizar el problema, con funciones volátiles (desventaja por recálculo), y, asumiendo que el lenguaje de Excel es español (F para Fila y C para Columna), quedando un poco más corta (en el ejemplo de Gerson): =CELDA("direccion";INDIRECTO(TEXTO(AGREGAR(15;6;1000000*FILA(Rng)+COLUMNA(Rng)/(Rng=G1);1);"F0C000000");)) Nota: Se podría averiguar cuál si se debe usar RC (Row Column) o FC (Fila Columna) por fórmula, pero esto es otro tema... Adjunto archivo (originalmente de Gerson), con las acotaciones aplicadas (además de quitar el nombre "Repetidos", para más claridad). ¡Bendiciones! Buscar valor en rango_GP.zip
  8. Hola, Ricky! Puedes usar la siguiente función, no volátil, de introducción normal: =DIRECCION(DERECHA(AGREGAR(15;6;1000*COLUMNA(A1:B10)+FILA(A1:B10)/(A1:B10=E1);1);3);ENTERO(AGREGAR(15;6;1000*COLUMNA(A1:B10)+FILA(A1:B10)/(A1:B10=E1);1)/1000)) Nota: Mi separador de argumentos es ";". Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema. ¡Bendiciones!
  9. De la misma ayuda de Microsoft, puedes ver lo del segundo argumento de la función Date.From https://docs.microsoft.com/en-us/powerquery-m/date-from Y lo del punto... si es conocimiento propio del formato de tres letras español... puedes probar en Excel con el formato Español las tres mmm y verás que Excel coloca el punto al final. ¡Bendiciones!
  10. ¡Hola, a todos! Si es posible hacer que Power Query reconozca el mes con tres letras, añadiendo un punto al final del mes y usando el segundo argumento de Date.From, así: Date.Month(Date.From("1-"&[Mes]&".", "es")) No es necesario añadir el año. Así como Excel, Power Query toma el año en curso como fecha si se omite. ¡Bendiciones!
  11. ¡Hola, a todos! Dejo un aporte más utilizando DAX. Creo que no se fijaron bien en "la suma de los promedios" al final. Puede servir como ejemplo de cómo se cambia el contexto de un cálculo dentro de una fórmula. ¡Bendiciones! SumaPromediosDAX.zip
  12. ¡Hola, Alfonso5597! En tu fórmula de N4, podrías reemplazar la palabra "HOY" (incluyendo las comillas) por HOY(). Recomendación adicional: Coloca la función HOY() en una celda diferente, y luego haz referencia a ella si vas a usar varias celdas con el criterio de hoy. Hoy, por ser una función Volátil puede ralentizar tu equipo si la usas en muchas celdas. ¡Bendiciones!
  13. Hola, Lázaro ( y Sergio ) Revisa el archivo, donde hago una propuesta. Recordé que tienes una versión de Excel no actualizada, por lo que usé funciones estándar, y, para evitar fórmulas kilométricas y de introducción matricial, usé el administrador de nombres. Verifica las celdas sombreadas con el color de fondo que Excel llama "naranja" (he modificado las fórmulas que tenías en el rango partido QM11:WO90 Si por casualidad vas a recrear la solución aquí propuesta en otro libro, debes hacer la creación de las fórmulas del administrador de nombres posicionado en la celda QM94. Para futuras oportunidades... Si quieres evitar formulaciones más elaboradas, debes evitar partir los rangos en columnas discontínuas. ¡Bendiciones! Agrupar valores.zip
  14. ¡Hola, @fsabater! Puedes probar con: =N(MAX(;1+MIN(K9;H$3)-MAX(J9;H$2))=0) ¡Bendiciones!
  15. ¡Hola, a todos! O también, directo: =TEXTO(EXTRAE(B4;11;10);"00-000-000-00") ¡Bendiciones!
×
×
  • Create New...

Important Information

Privacy Policy