|
11
|
Media / Multimedia / Re: comprobar estado de video
|
en: 6 Septiembre 2025, 06:03 am
|
Si se trata de ver si un archivo está bien, es decir si es copiable, porque el disco DVD o CD esté bien, la solución es intentar copiarlo. Si te deja está bien, sino no.
¿Qué hacer si no te deja? He tenido ese problema, partes del video que no se podían leer, pero era muy poco, no supe solucionarlo y luego no me importó porque eran cosas que se podían conseguir en otro lado, ya ni uso esos DVDs. La única solución que se me ocurre es iniciar el video y un grabador de pantalla y sonido, así haces una copia del video, aunque con calidad un poco peor probablemente (depende del grabador) y sin la parte que no te funciona. A mí me pasaba que se trancaba, tenía que adelantar el video o incluso sacar el DVD e iniciar la película adelante del trancazo. No es la solución ideal claro.
Distinto es si quieres que un programa te diga si el video se ve mal en algún punto, como los VHS que a veces la imagen se movía, aunque eso también podía ser un problema del aparato que leía los cassetes. De eso no sé.
|
|
|
12
|
Media / Multimedia / Re: comprobar estado de video
|
en: 4 Septiembre 2025, 16:47 pm
|
Yo no entendí, probablemente no sé del tema ¿a qué te refieres con estado? ¿tamaño de las imágenes? ¿que la duración concuerde con lo que dice ser? En los metadatos.
Yo descargaba las cosas y luego veía si me servían o no. Videos que eran grabaciones del cine, mal sonido, idioma distinto al que esperaba, a veces lo contrario, demasiada calidad para la PC que tenía. Tocó buscar en otro lado.
|
|
|
13
|
Programación / Programación General / Re: ¿Error al convertir nùmero grande a binario?
|
en: 4 Septiembre 2025, 14:19 pm
|
Últimamente he estado evitando pensar en ciertas cosas, pero aquí vuelvo. EdePC, hablas de un código que convierte decimal en binario, por ahora quiero resolver el problema inverso: Binario a decimal. El título del tema está al revés porque pensé que fallaba un proceso que hago luego. A ti y a Flamer, esto fue lo que pasó con GPT:  Yo además estaba un poco apurado así que no había visto su explicación. Estuve hablando más con él sobre el código pero ya me quedé sin puntos. No avancé mucho. Espero retomar esto antes la próxima vez.
|
|
|
14
|
Programación / Programación General / Re: Excel: Automatizar cambio de fórmulas al crear columna.
|
en: 4 Septiembre 2025, 11:24 am
|
Funcionó  N solo cambiará a M si arrastras horizontalmente hacia la izquierda y solo si le quitas los $, pero que luego M cambie a O?, eso ya está raro, supongo que te equivocaste Correcto, creo que estaba pensando desde N hacia atrás, hacia lo que tenía hecho, y luego pensé hacia adelante, o simplemente me entreveré el abecedario xP Recuerda que puedes presionar el atajo de teclado F4 para que la fijación ($) vaya cambiando entre: Fijar todo ($A$1), solo Columna ($A1), solo Fila (A$1) o nada (A1), obviamente tienes que tener el cursor en el A1 o seleccionarlo, también te vale para Rangos (A1:A5) Antes no sabía que servía para ir variando qué se fija, pensé que era todo o nada.
|
|
|
15
|
Media / Juegos y Consolas / Re: España lleva más de 50 años creando consolas y videojuegos, pero fue en los ochenta cuando llegó su edad de oro
|
en: 30 Agosto 2025, 19:34 pm
|
Obviamente producen más que Uruguay y otros paises latinos, pero no conozco consolas ni videojuegos de España. Lo único bueno reciente que se me ocurre producido ahí (y tengo mis dudas) es Dartacán y los 3 mosqueperros. La presentación de la animación del Quijote de la Mancha también me gustó, pero la serie nunca la vi. Luego algunas traducciones parecen mejor que las latinas, pero en muchos casos por los acentos o palabras típicas de España, no lo entiendo bien y por eso prefiero lo latino. Me pasó recientemente al ver la película Idiocracia. Hace años pasaban el juego de la Oca y Gran prix. Me gustaba el 2ndo, aunque también terminó aburriendo. Películas no recuerdo, sólo "Mujeres al borde de un ataque de nervios", pero no estoy seguro que sea de ahí y no la vi mucho, la recuerdo porque tengo un videocassete de eso. No sé si el principio estaba mal o le grabaron algo encima, sólo recuerdo el final. Lo que creo que es muy famoso de España es un programa de talentos, pero no lo miro. Ah, había un show muy bueno, no recuerdo el nombre pero la frase típica era "Apuesta que, será capaz de..." y el participante tenía que cumplir un reto, que él mismo decía que podía cumplir. Eran cosas raras como reconocer qué canción era una de una gran selección, escuchando sólo 2 segundos. No era cantar ni bailar ni hacer ilusiones ni chistes, no eran cosas que era subjetivo si se hicieron bien o mal, era "Prueba superada" (o algo así) o nada. Mirá, busqué el programa y me apareció justo eso: https://www.youtube.com/watch?v=mg4_SS1zbtoMiré esto: https://es.wikipedia.org/wiki/Categor%C3%ADa:Videojuegos_desarrollados_en_Espa%C3%B1ay el que jugué casi seguro es Comandos. Buen juego, probablemente de los 1eros que hubo de sigilo, veías la línea de visión del enemigo que tenía 2 partes. En la más lejana si te agachabas no te veían. Yo pasé casi todas las misiones haciendo emboscadas, no era muy de ir con sigilo xD Juntaba a los personajes tras una pared y disparaba con todos a las patrullas hasta que no hubiera más. Una de las misiones más complicadas es la que debes matar a un líder que si suena la alarma se va... La pasé creo pero luego de eso me aburrí.
|
|
|
16
|
Programación / Programación General / Excel: Automatizar cambio de fórmulas al crear columna.
|
en: 28 Agosto 2025, 22:34 pm
|
en la celda N12 tengo esto: =SI(CONTAR.SI($N$2:$N$9;B12)>1; $N$10; "") más abajo se repite, cambiando B12 por B13, etc Más abajo la fórmula cambia a: =SI(Y(CONTAR.SI($N$2:$N$9;A19)>0; CONTAR.SI($N$2:$N$9;B19)>0); $N$10; "") más abajo se repite, cambiando A19 y B19, por A20 y B20, luego 21, etc Finalmente, más abajo cambia a: =SI(CONTAR.SI($N$2:$N$9;B124)>0; $N$10; "") y más abajo se repite cambiando B124 por B125, etc
Debo crear columnas al lado de esa, y es muy tedioso cambiar las letras. A y B deben mantenerse, pero si le pongo los $ no van a cambiar los números cuando quiera que lo hagan hacia abajo. Y N debe cambiar a M, luego a O, etc, pero si no le pongo los $ aumentarían los números de los rangos cuando quiera que la fórmula se aplique más abajo.
¿comprendes? ¿hay alguna forma de automatizar eso mejor? Por ejemplo se me ocurre hacer un programa que genere las fórmulas separadas con tab, luego creo las columnas y pego esas fórmulas
...
La respuesta de GPT es complicada para mí: Sí, comprendo el problema: necesitas arrastrar fórmulas hacia abajo (que cambien los números de fila) y también copiarlas hacia la derecha a nuevas columnas, donde la letra de la columna de búsqueda (N) cambie a M, O, P, etc., pero sin que se “rompan” las referencias al arrastrar.
Claves para resolverlo sin macros: - Usa referencias mixtas para filas/columnas según necesites que varíen. - Usa DESREF/INDICE con COINCIDIR o con COLUMNAS/ FILAS para construir rangos que cambien de columna al copiar a la derecha. - Evita “letras fijas” en las fórmulas; genera el rango por posición.
Propuesta 1: construir el rango N2:N9 de forma dinámica según la columna - Supón que pegas en la primera columna (por ejemplo, columna C) y que quieres que: - En esa columna use N2:N9. - A la derecha, use O2:O9, luego P2:P9, etc. (o M, O, … ajusta el desplazamiento). - Usa INDICE con DESREF o directamente DESREF sobre N2:N9 y desplaza por el número de columnas copiadas.
Ejemplo base (para la primera fórmula): - Rango base: $N$2:$N$9 - Desplazamiento horizontal: COLUMNAS($C:C)-1 si pegas primero en C; ajusta a tu columna real.
Fórmula que cambia N→O→P al copiar a la derecha y mantiene filas al copiar hacia abajo: =SI(CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); B12)>1; INDICE($N:$N;10); "") Notas: - DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1) empieza en N2:N9 y se mueve 0 filas y (n-1) columnas a la derecha cuando copias a la derecha. - B12 no lleva $ para que al arrastrar hacia abajo cambie a B13, B14, etc. - INDICE($N:$N;10) devuelve N10. Si quieres que también cambie de N a O al copiar a la derecha, usa DESREF para N10 igual que para el rango: DESREF($N$10;0;COLUMNAS($C:C)-1)
Entonces la versión completa que también mueve la celda de resultado: =SI(CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); B12)>1; DESREF($N$10;0;COLUMNAS($C:C)-1); "")
Para la segunda fórmula (con A y B): =SI(Y(CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); A19)>0; CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); B19)>0); DESREF($N$10;0;COLUMNAS($C:C)-1); "")
Para la tercera fórmula: =SI(CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); B124)>0; DESREF($N$10;0;COLUMNAS($C:C)-1); "")
Cómo usar: 1) Pega la fórmula en la primera columna donde quieras empezar (ajusta $C:C a tu columna inicial). 2) Arrastra hacia abajo: A/B/Bx cambian de fila; los rangos 2:9 y 10 quedan fijos en filas. 3) Copia hacia la derecha: el DESREF moverá N→O→P… y también N10→O10→P10.
Si en vez de N→O→P necesitas M→N→O (empezar en M), cambia el offset: - Usa COLUMNAS($B:C)-1 si la primera columna de pegado es C pero quieres que el desplazamiento empiece ya en +1 (es decir, M cuando offset = -1). Más claro es anclar una columna “origen”: DESREF($M$2:$M$9;0;COLUMNAS($C:C)-1) y DESREF($M$10;0;COLUMNAS($C:C)-1) Así la primera columna usa M; a la derecha será N, luego O, etc.
Alternativa sin DESREF (más “segura” por volatilidad) usando INDICE: - Rango variable 2:9: INDICE($N:$Z; FILA($2:$9); COINCIDIR(COLUMNAS($C:C)+COLUMNA($N:$N)-COLUMNA($N:$N); COLUMNA($N:$Z); 0)) Esto es más enrevesado; en la práctica DESREF es suficiente y más legible.
Consejo final: - Evita $ en la letra de A y B si quieres que cambien de fila al arrastrar. - Usa $ en los números 2:9 y 10 para fijar esas filas. - Controla el cambio de N→O→P con DESREF y COLUMNAS ancladas a la primera columna de pegado.
Si me indicas: - En qué columna empiezas a pegar, - Si quieres iniciar en M o en N, - Y el patrón exacto de columnas, te devuelvo las tres fórmulas ya ajustadas listas para copiar-pegar.
Para empezar debo pegar esto: =SI(CONTAR.SI(DESREF($N$2:$N$9;0;COLUMNAS($C:C)-1); B12)>1; DESREF($N$10;0;COLUMNAS($C:C)-1); "")
Nah, está muy raro.
A ver, vamos paso a paso. En C12 tengo: =SI(CONTAR.SI($C$2:$C$9;B12)>1; $C$10; "") En C13: =SI(CONTAR.SI($C$2:$C$9;B13)>1; $C$10; "") O sea, cambia el número al lado de B, está bien.
En D12 tengo: =SI(CONTAR.SI($D$2:$D$9;B12)>1; $D$10; "") ven que, todo C cambió a D.
Entonces, supongamos que sólo quisiera que cambie la última letra. Que el 10 se mantenga, pèro que cuando arrastro la fórmula a otra columna, C cambie a la columna en cuestión.
¿Cómo se hace? Eso para empezar, el resto lo intentaré entender luego.
Fórmula original: =SI(CONTAR.SI($C$2:$C$9;B12)>1; $C$10; "") GPT dijo: =SI(CONTAR.SI($C$2:$C$9;$B$12)>1; DESREF($C$10; 0; COLUMNA()-COLUMNA($C$10)); "") puso $ en B porque le dije. No entiendo esto: DESREF($C$10; 0; COLUMNA()-COLUMNA($C$10)) y no tengo más puntos, pregunto a Deepseek.
En cierto punto le planteé el problema desde 0 y me dijo: ¡Entiendo perfectamente! Es un escenario muy común. Necesitas **fijar la fila (10)** pero **dejar la columna relativa** para que se ajuste al arrastrar. La solución es correcta y simple usando **referencias mixtas**.
### Solución Correcta y Simplificada:
**`=SI(CONTAR.SI($C$2:$C$9; $B$12)>1; C$10; "")`**
---
### 🔐 Explicación de la Referencia Mixta: `C$10`
* **`C`** (sin `$`): La **columna es relativa**. Se ajustará automáticamente al arrastrar la fórmula a la derecha o izquierda (se convertirá en D, E, F...). * **`$10`** (con `$`): La **fila es absoluta**. No cambiará nunca, sin importar si arrastras la fórmula hacia arriba o hacia abajo. El número **10 se mantendrá fijo**.
### 📍 Comportamiento al Arrastrar:
| Si la fórmula está en: | La referencia se convierte en: | Resultado | | :--- | :--- | :--- | | **Celda C15** | `C$10` | Valor de **C10** | | **Celda D15** | `D$10` | Valor de **D10** | | **Celda E20** | `E$10` | Valor de **E10** | | **Celda F5** | `F$10` | Valor de **F10** |
### ✅ Por qué esta es la mejor solución:
1. **Muy Simple:** Solo usas una referencia de celda normal (`C$10`) en lugar de una función compleja. 2. **Más Fácil de Entender:** Cualquiera que vea la fórmula sabe instantáneamente que apunta a la fila 10. 3. **Más Eficiente:** Excel calcula referencias directas mucho más rápido que funciones como `DESREF` o `INDIRECTO`. 4. **Cumple tu Requisito:** La fila 10 nunca cambia, la columna sí se ajusta.
**En resumen:** Reemplaza el `DESREF` complejo por la referencia mixta **`C$10`**.
Tu fórmula final, optimizada y fácil de leer, queda así: ```excel =SI(CONTAR.SI($C$2:$C$9; $B$12)>1; C$10; "") ``` Puede que ya me hayan dicho eso y yo lo haya olvidado, de momento no puedo probarlo, luego sigo.
|
|
|
17
|
Programación / Programación General / Re: Excel 2013 indicar celda "contigua" al 2ndo máximo valor, repetible.
|
en: 28 Agosto 2025, 21:35 pm
|
Me dijeron una forma más sencilla de hacerlo, básicamente: =JERARQUIA.EQV(Q124;$Q$124:$Q$138;0)+CONTAR.SI($Q$124:Q124;Q124)-1 JERARQUIA.EQV genera una lista ordenada de mayor a menor (si pones el argumento 0) y te da la posición (en la lista) del valor que le digas: =JERARQUIA.EQV(valor a buscar;rango en donde buscar;modo) Luego se le suma las repeticiones que se encuentren hasta la fila en cuestión, restando 1 para que su propio valor no se cuenta. Eso hace que los valores repetidos más abajo tengan más repeticiones que los mismos de arriba, haciendo que el resultado sea mayor. Pero acabo de notar un posible error... si un valor tiene muchos repetidos le suma mucho y entonces puede que quede con una posición mayor a la que debe, pero por lo que veo eso no ocurre, no sé por qué  Acá está la explicación: hay un detalle clave: el primer término no es “orden correlativo”, sino el RANK (jerarquía) del valor dentro del rango, y el segundo término cuenta cuántas veces ya apareció ese mismo valor arriba. Juntos generan una secuencia sin saltos.
Desglosando tu fórmula: =JERARQUIA.EQV(Q124;$Q$124:$Q$138;0) + CONTAR.SI($Q$124:Q124;Q124) - 1
JERARQUIA.EQV(Q124;$Q$124:$Q$138;0) devuelve el rango (1 = mayor, 2 = segundo mayor, etc.). Los empates comparten el mismo rango. CONTAR.SI($Q$124:Q124;Q124) cuenta cuántas veces aparece el valor de Q124 desde la primera fila del rango hasta la fila actual, es decir, la ocurrencia k-ésima de ese valor (1 para la primera vez que aparece, 2 para la segunda, etc.). Restar 1 ajusta para que la primera ocurrencia no sume nada extra. Qué produce en un ejemplo: Supón el rango tiene: 9, 9, 9, 8 (de mayor a menor en términos de valor, no necesariamente ordenados en filas). Los rangos por JERARQUÍA son:
Para 9: 1 (todos los 9 tienen rango 1) Para 8: 4 (porque hay tres valores mayores: los tres 9; con JERARQUIA.EQV se salta de 1 a 4 en el siguiente valor distinto)Tabla: https://docs.google.com/spreadsheets/d/1AFqhW9Hld7eykWAVfcVSQIeIoym7oWW8/edit?usp=sharing&ouid=109273743447273895658&rtpof=true&sd=true
|
|
|
18
|
Programación / Programación General / Re: Excel 2013 indicar celda "contigua" al 2ndo máximo valor, repetible.
|
en: 26 Agosto 2025, 09:40 am
|
Mientras más automatizado mejor, hasta cierto punto, así que opto por la solución 2, no quiero ordenar la tabla cada vez que agregue datos, pero me diste una idea: ¿No se puede hacer un batch que busque los valores, o haga que Excel ordene esos valores de la tabla? Doble clic es más fácil que seleccionar datos, hacer clic, esperar a que aparezca el menú... No sabía eso de insertar una tabla en la tabla xD ¿seguro que no se ordenan automáticamente una vez lo indicas? En la imagen aparece una flechita hacia abajo. No entiendo cómo funciona esto: - La solución está en hacer una condición adicional para comprobar el orden de los apellidos dándoles valores igual que en el paso 1 pero sin sumarles el +1, y al final contar/sumar ambos números de orden para obtener un número de orden sin repeticiones
carlos | lópez | 2 maría | tórres | 3 carlos | flores | 1 Supongo que pones la fórmula más adelante. - Su funcionamiento es sencillo, solo hay que despejar los valores repetidos y al resultante asignarle un número de orden, esta vez no sumaremos el +1 para que empiece en 0, al final se suma ese orden obtenido al número de orden del paso 1: Idem... Ya veo, pero ni idea cómo lo despejas. No me funciona bien esto: =CONTAR.SI($L$131:$L$137;">"&L132)+1 Decidí ampliar el rango, puse: =CONTAR.SI($L$124:$L$137;">"&L125)+1 Pero supongo que no es el problema. Te muestro:  La fila de Ataque tipo puñetazo es la 124. Puse: =CONTAR.SI($L$124:$L$137;">"&L125)+1 en la celda M124. En la M125 la copié, quedó: =CONTAR.SI($L$124:$L$137;">"&L126)+1 ¿está bien que se cambie el 125? Creo que había un error, cambié L125 por 124 y se arregló. Entiendo que la fórmula cuenta las veces que hay un valor mayor que el correspondiente a esa fila, no en la siguiente como estanba. Ok. ¿Por qué se pone ">"&L124 en vez de >L124? A ver, en el rango $L$124:$L$137 contar los valores si son >124. Luego sumar 1. No entiendo por qué las cosas raras... CONTAR.SI(rango;condición para que se cuente)+1 Le pedí a GPT que explique la 2nda fórmula que pones: (...) CONTAR.SI.CONJUNTO($L$131:$L$137;L131;$B$131:$B$137;"<"&B131) Aquí se manejan empates. Cuenta cuántas filas tienen: El mismo valor en L que L131 (empate en la métrica principal), y Un valor en B estrictamente menor que B131. Es decir, entre los empatados en L, cuenta cuántos “van antes” de L131 según un criterio secundario: B más pequeño.No entiendo bien cómo es que hace eso... CONTAR.SI.CONJUNTO(rango;valor;rango 2;condición a cumplir) no lo capto... La sintaxis de CONTAR.SI.CONJUNTO en español es:
CONTAR.SI.CONJUNTO(rango_criterios1; criterio1; [rango_criterios2; criterio2]; ...)
Cómo funciona:
rango_criterios1: el rango donde se evaluará el criterio1. criterio1: la condición que deben cumplir las celdas de rango_criterios1 (puede ser un valor, una referencia, o una cadena con operadores como ">5", "<="&A1, etc.). Puedes añadir más pares rango_criteriosN; criterioN. Excel solo contará la fila si TODAS las condiciones se cumplen simultáneamente (AND lógico, por filas). No es “primero cuenta en el rango1 y luego en el rango2”. Más bien:
Recorre las filas en paralelo. Para cada fila i, verifica: ¿la celda de rango_criterios1 cumple criterio1 Y la celda de rango_criterios2 cumple criterio2 Y ...? Si sí, suma 1. Si no, no.
Aplicado a tu caso: CONTAR.SI.CONJUNTO($L$131:$L$137; L131; $B$131:$B$137; "<"&B131)
rango_criterios1 = $L$131:$L$137 criterio1 = L131 (equivale a “igual a L131”) rango_criterios2 = $B$131:$B$137 criterio2 = "<"&B131 (equivale a “estrictamente menor que B131”) Cuenta cuántas filas, entre las 131–137, cumplen simultáneamente:
En la columna L: valor igual al de L131 Y en la columna B: valor menor que B131
Bien, pensé que CONJUNTO era como conjunto de datos, es más bien conjunto de condiciones que deben cumplirse. Parece que funciona bien, pongo la tabla entera para descargar: https://docs.google.com/spreadsheets/d/1xp_RAVCm3FwYSdTmqJWxRudvgQsqCrgQ/edit?usp=sharing&ouid=109273743447273895658&rtpof=true&sd=true¿Podría ponerse que el 2ndo criterio en vez de orden alfabético sea órden de aparición? O sea, si está una fila antes, va antes. Ahora no pero supongo que voy a leer más sobre fórmulas matriciales, por curiosidad.
|
|
|
|
|
|
|