UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ir a la página : 1, 2  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 2.]

juancoar


Adjunto hoja en excel
Archivos
codigos.xlsx
No tienes los permisos para descargar los archivos.
(13 KB)

tyno


Hola Juan.

He visto tu archivo Excel y tu consulta, pero aun no me queda claro cual es el resultado que esperas obtener.

Hasta donde se en las columnas A:J tenes números comprendidos entre 1 y 50, ahora tengo unas cuestiones:

Primero ¿¿lo que estas buscando es saber cuantos números no repetidos quedarían pendientes por fila en un conjunto de 50 números??
De buenas a primeras esto parece algo fácil de saber: si en una fila ingresaste 8 números únicos (es decir no repetidos) entonces es obvio que restan 42 números únicos en un conjunto de 50.

Segundo: junto con lo anterior ¿ también necesitarías saber cuales son esos números únicos que restan del conjunto de 50 números?
Siguiendo con el ejemplo de 8 números únicos y suponiendo que estos números sean 1,2,3,4,5,6,7,8, entonces los números pendientes en este caso seria fácil deducir porque serian: 9,10,11,12...49,50. Quizás lo complicado seria cunado esos números no son consecutivos, pero eso se puede solucionar.

Tercero: Por lo que mencionas todos los números de la columna AF tienen que ser el mismo, esto no entiendo porque, pareciera que si bien cada fila tiene sus números y son casos independientes, no obstante están relacionados por el numero que se repite en la columna AF

Cuarto: el valor que se obtiene en la columna AN es la diferencia entre el numero de la columna A menos el numero que se ingresa en la columna AF (este valor obtenido su vez se repite, para comparar, en las columnas AG:AL), pero ¿¿porque este valor de la columna AN es la diferencia entre el numero de la columna A y AF?? ¿¿Porque no la diferencia entre el numero de la columna B,C, D,etc., menos el numero de la columna AF??

En definitiva ¿cual es el resultado que se espera?
De una serie de números (comprendidos entre 1 y 50) que estén en una determinada fila ¿que es lo que necesitas saber? ¿cuantos números únicos restan del conjunto de 50 números? aparte de ello ¿quisieras que Excel te muestre una lista de cuales son esos números únicos que no están en la serie de la fila?

Si podes explicar un poco mas seria de gran ayuda y la verdad que esta interesante tu planilla pero en lo que a mi respecta tengo esas cuestiones que te he comentado Juan. Saludos.

juancoar


Es mucho mas facil de lo que me explico. Pero soy torpe en excel y en plantear la cuestion.

En A:J tengo una serie de numeros que NO VARIAN NUNCA y estan comprendidos del 1 al 50.

La celda W es el resultado de la SUMAde unos numeros que inserto cada 15 dias y de la columna AF.

La cuestion es modificar la columna AF colocando un mismo numero (logicamente y automaticamente, varia W) de manera que resulten unos numeros en la columna W que no seanigual a los comprendidos en su MISMA fila A:J y por tanto sean del 1 al 50

Yo tengo 100 planillas como estas, y cada 15 dias tengo que reemplazar el numero AF manualmente, voy probando, coloco el 1 ¡¡¡Caramba se repite un numero o veinte¡¡¡¡ coloco el 2, coloco el 3, y asi hasta que los distintos numeros existentes en las celdas de W no se repitan en A.J.

W1 es un numero del 1 al 50 que no se repite en la serie A1:J1

W2 es un numero del 1 al 50 que no se repite en la serie A2:J2.....

Lo que yo busco es una formula o macro que me sustituya el unico numero de columna AF de manera automatica hasta que cada celda de la columna W cumpla la condicion.

Mil gracias por el tiempo que me dedicas.

tyno


Hola Juan.

Te paso tu archivo con una macro que te genera una lista de números por fila para la columna W, los cuales no se repetirían con respecto a los números que se encuentran en las filas comprendidas entre las columnas A:J.
Esta macro trabaja combinada con las formulas que ya tenías.

Esta lista se genera a partir de la columna AU y al final en la columna CS se muestra la cantidad de estos números.

No es necesario borrar los números que puedan haber en las columnas AI y las columnas AU:CR, la macro los borra.

La verdad que no estoy seguro si esto se aproxima a lo que estas buscando, pero proba el archivo y lo que sea necesario modificar me avisas sin problemas.

En caso que era esto lo que necesitabas si te parece lo que podemos hacer luego es evitar todas esas columnas con formulas que has creado para que la macro arroje directamente los resultados, con ello te ahorrarías justamente insertar estas columnas con formulas.

Saludos
Archivos
numeros unicos.xlsm
No tienes los permisos para descargar los archivos.
(33 KB)

juancoar


Muchas gracias por el tiempo que me dedicas. Tal vez si te explico lo que quiero, puedes eliminarme formulas inutiles y simplificar las formulas o macro.

1º.- Tengo en A:J una serie de numeros invariables:

1-2-3-4-5

6 -7-8-9-10

...............


2º. Cada cierto tiempo coloco unos numeros en W (1 al 50) a ese numero hay que sumarle un numero AF( negativo, cero o positivo cualquiera) pero con la condicion que el numero resultante no este comprendido en A:J
3º Ese numero AF es el mismo para toda la columna W, y W debe ser menor de 50.
Adjunto archivo explicativo
Archivos
numeros unicos.xls
No tienes los permisos para descargar los archivos.
(67 KB)

juancoar


sumar o restar un numero

tyno


Veamos si dimos en el clavo.

Modifique la macro, ahora esta va ingresando un numero solo en la celda AI1, y como el resto de las celdas de esta columna tinen la formula igual entonces este numero se replica en todas las filas con datos. Entonces, segun lo que entendi, hay que hallar numeros entre 1 y 50 que sumados a los valores de la columna W no de como resultado un numero que ya se encuentre entre las columnas A:J.
Al igual que en la macro anterior los resultados posibles se dan en la fila 1 a partir de la columnas AU.
Como en estos momentos estoy usando Excel 2003 cambie la funcion DELTA por otra formula que cumple el mismo proposito.
Como lo mencione, si esto es lo que estas necesitando Juan, solo me avisas y veo de adaptar la macro para evitar las formulas, pero primero necesito saber si se cumple el resultado que esperas. Saludos.
Archivos
numeros unicos 2.zip
No tienes los permisos para descargar los archivos.
(19 KB)

juancoar


En primer lugar darte las gracias, tyno, por todo tu trabajo y paciencia. He visto tu macro y te he añadido dos cosas.

1º.- la columna U es la que yo introduzco cada periodo de tiempo. Solo varia mediante V

2º. la columna V es el unico numero que desconocemos y tenemos que calcular,

3º.- W es la suma (o resta)de U+V

4º W es el numero resultante que no debe estar comprendido en su fila y solo se acepta el numero V, si todos y cada una de las celdas de W, no coinciden con su fila. (W1 no en A1:J1, etc) Si falla un numero de W (al estar repetido) hay que encontrar otro numero (o es imposible hallarlo o hay mas de una solucion)

A partir de ahi, puedes quitar y poner formulas como quieras; para mi lo que haces es pura y maravillosa ingenieria. Un saludo

juancoar


adgunto archivo
Archivos
numeros unicos 2.xls
No tienes los permisos para descargar los archivos.
(61 KB)

juancoar


Ahora he comprendido tu macro y me parece formidable. No entendia como se calculaba. Perfecto.

Elimina las formulas innecesarias. Un genio

GRACIAS!!!!!!!!!!!!!!!!!!!!!!!!!

tyno


A, ok o sea que esta ultima alternativa te da los resultados que esperas, o te sirven en definitiva??

juancoar


Es perfecto.

¿Quieres quitar la formula DELTA o se queda tal cual?

En todo caso puedes ampliar la macro a 50 o 60 filas, en vez de las 16 de ahora. Gracias

Y pedir por pedir, que AI pueda ser tambien un numero negativo, así hay mas soluciones.

tyno


Hola Juan.

Te paso el archivo con la macro que arroja directamente la serie de números (en caso que puedan haber) sin necesidad de agregar formulas ni nada. Solo basta con colocar los datos de origen a partir de la celda A1 de la Hoja Excel, seleccionar una celda vacía para insertar los resultados de la macro y ejecutar el boton RESULTADOS.

La macro funciona o toma en cuenta todas las filas que quieras de la Hoja Excel, es decir que podes usar 65536 filas de datos porque el archivo esta hecho en Excel 2003

Para probar que esta macro da el resultado correcto comparala con los resultados del archivo anterior, para ello ingresa los mismos datos en ambos libros y ejecuta las macros en uno y luego el otro archivo para verificar que se dan los mismos resultados.

En principio hice para que la macro arroje los resultados a partir de la celda que selecciones, como ya te lo comente, pero si te interesa que estos resultados queden dispuestos de otra manera solo me lo indicas y acomodamos la macro nuevamente. Saludos.
Archivos
numeros unicos 3.zip
No tienes los permisos para descargar los archivos.
(19 KB)

juancoar


Un saludo tyno

Dos cuestiones:

¿En que columna ingreso los datos a los que hay que sumar el numero calculado por la macro?

¿Lo has programado para que tambien contenga numeros negativos?

juancoar


El numero a calcular debe estar comprendido entre -90 y 90

tyno


Hola Juan.

Modifique la macro para que trabaje entre -90 y 90 y por este motivo, como la cantidad de resultdos puede ser muy extensa, ahora hice para que la lista de numeros quede dispuesta de forma vertical, es decir en filas.

Tambien me falto comentarte que asi como podes utilizar cientos de filas de datos lo mismo con las columnas, podes poner datos en decenas de columnas.

Cuando me preguntas en que columna debes ingresar estos numeros que calcula la macro,bueno esto es lo que no estoy seguro, porque no se que haces con estos numeros que se obtienen.
La macro te ahorra el trabajo de ir buscar numero a numero ,en un rango de 180 numeros (-90 a 90), cual es el o los numeros que no se repetirian en la lista de valores, pero como te dije una vez que obtenes estos numeros no se que haces con ellos a parte de saber que no se repetirian en ninguna de las filas de la lista de valores.

Por eso, antes de pasarte el archivo se me ocurre que deberias pasarme un archivo tal cual lo vas a utilizar, es decir, los datos de origen si o si tienen que estar a partir de la celda A1. y luego indicarme que hay que hacer con los numeros que calcula la macro, donde necesitas que queden o como se destribuyan, etc. Saludos.

juancoar


Reitero el agradecimiento a tu trabajo.

Pero la disposicion me da igual, el esquema es mas o menos como te indico en el archivo adjunto
Archivos
numeros unicos 3.xls
No tienes los permisos para descargar los archivos.
(58 KB)

tyno


Hola Juan.

Subo tu archivo, ahora agregue un formulario que se ejecuta con las teclas Ctrl + t.
Este formulario carga los numeros unicos que buscas de acuerdo a las lista que tengas.
Luego solo seleccionas el numero que quieras y lo insertas en la celda que necesites. Tambien podes tipear el numero en la celda, eso es indistinto a como te quede mas comodo.

La ventaja de este formulario es que evitas rellenar la Hoja de numeros que quizas te resulte incomodo buscar si los resultados son muchos, por eso tenes una lista de los numeros para buscar mas facil y ademas podes cambiar el rango de numeros de busqueda que por defecto es -90/90, entonces estos valores los podes modificar en el formulario.

En el archivo te explico un poco mas como funciona y cualquier cosa me avisas.

PD
Acordate que para ejecutar el formulario es con la convinacion de teclas Ctrl mas la letra t.
Archivos
numeros unicos 4.zip
No tienes los permisos para descargar los archivos.
(24 KB)

tyno


Una cosa que descubri revisando tu planilla es que la formula que hice en la columna T, es erronea, es decir le ingrese una referencia erronea, y esto hace que la informacion de la formula de la columna U, arroje un resultado erroneo, en realidad tiene que quedar asi:

=A1+(ABS(R1))*-1

juancoar


Un saludo tyno. Es increible lo que puedes hacer. Es perfecto, tal y como yo queria. He efectuado con tu permiso algunos cambios. Asi debe quedar. Solo que ahora el calculador me da numeros que si se repiten, mira el ejemplo que subo, revisa esto por favor.

Te adjunto archivo.
Archivos
numeros unicos ultim.xlsm
No tienes los permisos para descargar los archivos.
(33 KB)

tyno


Hola Juan.

Estuve mirando el ultimo archivo y el motivo por el cual no da el resultado es por como tenes establecidas algunas formulas y referencias:

Antes que nada da lo mismo en que columnas ubiques las formulas, lo mismo el orden.

Bueno, en la columna R va el numero que se obtiene de la macro, eso estaria bien.

En la columna T tenias =ABS(V1), cuando tendria que ser simplemente =V1

En la columna V tenias =P1+R1 cuando tendria que ser =A1+(ABS(R1))*-1, esto para que el numero de esta columna sea negativo si o si.

(se entiende que estas formulas son la misma para el resto de las celdas de
cada columna, solo estoy usando la primer celda para el analisis)

Ahora, en toda esta combinacion de formulas que yo estableci lo que esta sobrando, son los numeros de la columna P.
No digo que esten demas estos numeros de la columna P, porque estoy seguro que por algun motivo los has puesto, pero sucede que la macro no los utiliza porque està confeccionada para tomar el numero de la columna A y a este le resta cualqiera de los numeros que seleccionamos del formulario, para asi obtener aquel numero que no se repita en la fila. Por este motivo la formula de la columna V tiene como referencia las celdas da la columna A: =A1+(ABS(R1))*-1. La macro toma como referencia el valor de la columna A porque asi estaban las referencias de las formulas en el primer archivo que se subio en este tema. La macro lo unico que hace es reemplazar las formulas, pero mantiene las referencias obviamente para que de los mismos resultados que las formulas.

Entonces te paso el formulario con la opcion de poder seleccionar la columna donde van a estar los numeros de referencia que en este ultimo archivo estan en la columna P. El formulario por defecto va a buscar la primera columna con numeros que pueda existir inmediatamente despues de la lista de valores y va a tomar esta columna como referencia, pero como te lo mencione, podes seleccionar manualmente esta columna por medio de una lista desplegable en caso que se te ocurra poner estos numeros en otras columnas. Lo que si tene en cuenta que vas a tener que modificar, acorde a la columna que selecciones, la referencia en la formula =P1+(ABS(R1))*-1, por ejemplo si elegis la columna Z entonces la formula quedaria: =Z1+(ABS(R1))*-1

Tambien agregue la posibilidad de rellenar un rango que selecciones con el numero elegido de la lista del formulario, por ejemplo si seleccionas el rango V1:V35 o Z1:AD20 y ejecutas el boton <REGISTRAR estos rangos se van a rellenar con dicho numero del formulario.

Como siempre cualquier cosa por aqui estaremos. Saludos.
Archivos
numeros unicos ultim.zip
No tienes los permisos para descargar los archivos.
(30 KB)

juancoar


tyno, me doy por vencido. Creo que no existe solucion a mi problema. Te agradezco el enorme trabajo que has realizado y la dedicacion a mi planilla, que ya estoy pensando en que me puede venir bien para otros usos.

Un abrazo y hasta siempre.

tyno


mmm...¿pero cual seria la complicación?
Por lo que he visto desde el principio es que tenes una cierta cantidad de filas con números (los que estan entre las columnas A y J u otra) y luego lo que entiendo es que necesitabas obtener un numero que sumado a otro numero de referencia( en el ultimo archivo este numero esta en la columna P y en el primer archivo estaba en la columna A) tiene que dar como resultado otro numero comprendido entre 90 y -90 y a su vez este numero obtenido tampoco tenia que estar comprendido en el resto de las filas.

Como ultima prueba te propongo que te descargues el primer archivo que subiste a este tema, el que esta al inicio del tema, el archivo que se llama codigos.xslm.
Entonces abris el archivo codigos.xlsm junto con el ultimo archivo con formulario que te pase hace unos instantes. Teniendo los dos archivos abiertos vas a al archivo codigos.xlsm, porque vas a hacer la prueba sobre este archivo, y ejecutas el formulario con Ctrl +t (como estan los dos archivos abiertos el formulario te aparece en cualquiera de los dos archivos), bueno, una vez que aparece el formulario vas a cambiar los criterios en DESDE vas a poner 1, en HASTA 50 y en la lista desplegable Col. Referencia vas a seleccionar A y das al boton CALCULAR. Tienen que aparecer 17,19,33,35,36,38. Entonces cualquiera de estos numeros los vas a ingresar en la columna AF, acordate que este numero vas a repetirlo en la columna AF por cada fila de datos que tengas, en este archivo codigos.xlsm era hasta la columna 16, con esto vas a comprobar que los numeros del formulario te sirven porque no arrojan como resultado números repetidos en todas las filas. Te pido para que pruebes el formulario y la macro en este archivo codigos.xlsm porque esta hecho con las formulas que vos mismo hiciste y que supuestamente siempre te sirvieron.

Por cierto no hay problemas si de ultima esto no se ajusta a los que necesitabas, el gusto es poder o intentar ayudar, y no tengas problemas en consultar lo que necesites, he tenido casos que me ha llevado mas de 100 comentarios para resolver un archivo Excel. Smile

juancoar


tyno, me sabe mal que me dediques tanto tiempo. Tal vez no sepa explicarme bien lo que quiero.

Olvidemos las pruebas anteriores y centremonos en la ultima.

1º.-la columna P es importante, son datos externos que voy modificando periodicamente, y la cuestion es encontrar un numero que sumado a P no este en la serie de su fila.

2º.- En el "numeros unicos ultim" ese numero es R, por tanto R+P= T

T debe ser un numero no comprendido en su serie. Hasta ahi correcto, pero en esta planilla ultima, T son numeros negativos y mayores de 50. Por tanto, los negativos y mayores de 50 no estan en la serie.

3º.- Para ello yo convertia T mediante ABS , en numero positivo.

4º La otra cuestion es que T debe ser un numero menor de 51, pues los numeros de A:H son menores de 50

Me da igual la posicion de las columnas, solo quiero que a P+¿?=T; T<50; T1 no debe ser ningun numero de A1:H1, ni T2 en A2:H2...

Cuando puedas realiza estos cambios

tyno


Por favor Juan, mas frustrado me sentiría si no se resuelve este archivo, en realidad me siento mal yo porque quizás esto te esta resultando mas complicado que el trabajo que hacías manualmente.

Pero algo me dice que ya casi estamos:

Ahora en el archivo que te paso:

columnas A-H datos de origen

Columna P son los num externos

Columna R es el numero ¿? que es el que va a obtener la macro.

Columna T es = ABS(P+R), numero que tiene que ser único para todas las filas de los valores de las columnas A-H

En la macro del formulario cambie los criterios para que de los resultados de acuerdo a esta disposición de formulas que tenemos ahora.

NO cambie que busque por defecto números comprendidos entre -90y90, lo cual si podes hacerlo como ya te lo había explicado, cambiando los criterios DESDE-HASTA. DE todas formas si lo único que te interesa son números entre -50 y 50 o cualquier otro, solo considerá los que necesitas.

No cambie la opción de seleccionar la columna donde van a ir los números externos (ahora en la columna P), esto por las dudas que un día quieras colocarlos en otra columna.

Cuando obtengas los números ingresa uno de ellos en la celda R1 para verificar que no se repite efectivamente en el resto de las filas.

Te repito, no tengas problemas en seguir con esto hasta que resulte, yo de mi parte no tengo drama.
Luego que pruebes este archivo si hay algún punto que no es correcto solo me decís hasta aquí y aquí esta bien, pero esto otro tiene que ser de esta u otra manera. Esto es así: prueba y error, mas errores que otra cosa, pero bueno creo que ya falta poco. Very Happy
Archivos
numeros unicos casi ultimo 1.zip
No tienes los permisos para descargar los archivos.
(29 KB)

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 2.]

Ir a la página : 1, 2  Siguiente

Permisos de este foro:
No puedes responder a temas en este foro.