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

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

Visor


Estimados amigos del foro, en realidad ya no sé cómo hacer para coincidir los datos para armar tal como lo que está en la tabla de la hoja2 en el archivo ejemplo que subo
Las letras de la columna B de la hoja1 deben ocupar el centro de la tabla de la hoja2 pero esto debe estar acorde a los números dispuestos en cada sección (Primero, segundo , tercero) y en la altura del orden numérico (1,.....14) . No sé si deba ir un coincidir, BuscarV con BuscarH, o match o encontrar, lo cierto es que cuando en B1 de la hoja2 cambio de sección deberá aparecer la letra de la columna B de la Hoja1, si no hay nada, tampoco aparece nada. Procure hacer una fórmula que está en la fila1 de L en la hoja 2 pero no resultan todos los Ls de la hoja1 solo funciona para 1 de L
En realidad he tratado de hacerlo con formulas, pero esto no me da resultado, entonces acudo a ustedes a ver si con macros se pueda realizar lo que con formulas no he logrado
Subo el archivo

Agradezco mucho el análisis y sugerencia al respecto.
Archivos
Coindicir.xlsx
No tienes los permisos para descargar los archivos.
(13 KB)

Igtelo


Hola Visor.

A ver, vamos a pensar un poquitín:
1.- Ya vi tu archivo, podrías obtenerlo con índice y coincidir.
2.- El 80% de las preguntas no son tanto problema de Excel sino que sus obstáculos son la forma en que crean sus tablas, bases de datos o listas.
3.- Dejando tu tabla como está ¿Por qué no cargas directamente el valor de A,B,C, etc en lugar del 1? con ello ya nada más podrías copiar y transponer y listo.
4.- También podrías hacer otra tabla auxiliar en la parte de abajo y con un simple condicional SI se obtendría el valor de A,B,C, etc. y en la original puedes seguir escribiendo el 1.

Visor, el 80% del tiempo deben dedicarlo a pensar como generar sus datos de una forma sencilla y eficaz para que cuando necesiten hacer una fórmula les sea fácil y sobre todo sencilla,efectiva y eficiente y no es necesario hacer macros, estas se requieren en ocasiones porque no se estructura en una forma más operacional la información.

Analiza un poco las opciones que te planteo e intenta variantes para encontrar la que mejor se apegue a tus requerimientos (hay "n" formas de hacerlo), sino te sale ya te subo el archivo con lo que requieres, pero si me gustaría que primero veas alternativas.

También te sugiero que no uses celdas combinadas, dan mucha guerra...

Espero tus comentarios sobre lo que hayas intentado y vemos.
Saludos
Ignacio Téllez

Visor


:DGracias por tu predisposición al presente tema. Si, lo intentaré con indice y coincidir como lo mencionas.
En realidad el archivo es solo un ejemplo. Esto es uno de los problemas que se suele presentar a la hora de crear tablas de horarios pero que no se crucen las horas y si alguien solicita que se le cambien las horas porque su disponibilidad laboral en otro lugar, no le permite,..... ese cambio exige probar otros horarios. Entonces lo que esta en números es la sección o curso o semestre (según el país). En el archivo original he conseguido colocar un formato condicional que me alerta cuando un horario se intersecta con otro (cruce de horario). Debido a que eso le he resuelto de ese modo y tengo ese resultado, lo que sigue es enviar esos numero cambiado a las letras que le corresponden en B de la hoja1.
En este tipo de problemas sobre todo sucede cuando se solicitan los cambio de horario. 
Si cinco docentes tienen una particular hora debo encontrar otras disponibles para otros para que no se crucen los horarios. Con el formato condicional logro esto pero manualmente, y las problabilidades de disponibilidad no se ha podido hacer a menos que se usen factoriales, o quizé permutaciones pero eso es otro tema que quizá con su solución sea diferente el requerimiento presente.
Seguiré probando con lo que me sugieres

4RESUELTO formula indice-coincidir el 06/01/16, 11:56 am

Visor


He tratado de hacer y lo que consigo con la formula es que me muestre las mismas letra de ABCD pero no donde esta el numero 1 señalado en la tabla y no reconoce sección o curso.
Entonces trate de hacerlo así:
=SI($B$1="PRIMERO";BUSCARV(A3;Hoja1!$B$5:$P$10;1;0);SI($B$1="SEGUNDO";BUSCARV(A3;Hoja1!$B$12:$B$17;1;0);SI($B$1="TERCER";BUSCARV(A3;Hoja1!$B$19:$B$25;1;0);0)))
me sale #N/A en las celdas
Lo siento ese poquito de pensar, aun no es para mi quizá en mucho mas tiempo pues consigo la funcionalidad en cosas mas simples, pero aquí mi mente es la que se cruza.

Igtelo


Hola Visor.

Te dejo un ejemplo ve las 2 hojas. Voy a ausentarme por unos días, espero te sirvan.

Saludos
Ignacio Téllez
Archivos
Visor ejemplo.xlsx
No tienes los permisos para descargar los archivos.
(29 KB)

Igtelo


Veo que Adrián anda por el foro, en estos días que no estaré, ojalá te pueda echar una mano...

Perdón Adrián, si puedes por ahí apóyalo, nos vemos la próxima semana.

Saludos
Nacho

wibly


Hola Nacho,

Obvio que en lo que pueda daré una mano.

Un abrazo!

Visor


Gracias a Nacho por la magia, para mí modo de ver,  con lo que consigue hacer en excel

Estimado Wibly, gracias por tu predisposición.
En la hoja2 efectivamente se consigue que se arme la tabla de horario para un curso, la formula es genial, pero no reconoce si es del PRIMERO o SEGUNDO etc. eso quiere decir que tendré que armar varias tablas en lugar de una en una sola hoja (y con varios encabezados, una para cada curso.)

Cuando Nacho me pone la opción de:
Tabla auxiliar con está podrías trabajar directamente... (hoja1 de la solución dada)

Ok creo que esta me va bien pero entonces, ¿cómo trasnfiero ese resultado a la tabla de a hoja2 del archivo inicial que subí, cuál seria el código de macro??

wibly


Hola Visor!

Para que te funcione para SEGUNDO y TERCERO no es necesario una macro, te paso una propuesta agregando un SI en la fórmula... la fórmula que te propongo queda así:

=SIERROR(INDICE(Hoja1!$B$5:$B$30;COINCIDIR(SI($B$1="Primero";1;SI($B$1="Segundo";2;SI($B$1="Tercero";3;"")));Hoja1!C$5:C$30;0));"")

Esto vale usando la información como está, ya que para PRIMERO se ingresan valores "1", para SEGUNDO valores "2" y para TERCERO valores "3".

Por otro lado te comento que puse signos "?" en las celdas A26 y B26 de la "Hoja1", ya que dichas celdas se encontraban vacías y en esa fila hay datos cargados.

Además, en la celda B1 de la "Hoja2" le puse una VALIDACION DE DATOS para que te informe si se está ingresando un texto diferente a las 3 posibilidades (Primero, Segundo y Tercero).

Para finalizar comento que estoy de acuerdo con lo que dijo Nacho en su primer respuesta sobre el armado de la tabla... pero así como están las cosas las fórmulas funcionan bien. De todos modos siempre es bueno entender la lógica de las mismas para saber también el impacto si se cambia algo en la tabla de origen, por lo que te conviene revisar bien las fórmulas planteadas.

Saludos

wibly


Adjunto archivo.
Archivos
Coindicir_wibly.xlsx
No tienes los permisos para descargar los archivos.
(14 KB)

Visor


Muy agradecido por tu apoyo.
Como lo dicen ustedes siempre hay diferentes modos de hacer.
Por ejemplo con lo que nacho me ha enviado, y comparado a lo que tu me envías, así:
=SI($C$4="PRIMERO";SI.ERROR(INDICE(HorarioAsignatura!$D$6:$D$11;COINCIDIR(1;HorarioAsignatura!I6:I11));"");SI($C$4="SEGUNDO";SI.ERROR(INDICE(HorarioAsignatura!$D$13:$D$18;COINCIDIR(2;HorarioAsignatura!I13:I18));"");SI($C$4="TERCERO";SI.ERROR(INDICE(HorarioAsignatura!$D$20:$D$26;COINCIDIR(3;HorarioAsignatura!I20:I26));"");SI($C$4="CUARTO";SI.ERROR(INDICE(HorarioAsignatura!$D$28:$D$32;COINCIDIR(4;HorarioAsignatura!I28:I32));"");SI($C$4="QUINTO";SI.ERROR(INDICE(HorarioAsignatura!$D$34:$D$40;COINCIDIR(5;HorarioAsignatura!I34:I40));"");SI($C$4="SEXTO";SI.ERROR(INDICE(HorarioAsignatura!$D$42:$D$48;COINCIDIR(6;HorarioAsignatura!I42:I48));"");SI($C$4="SEPTIMO";SI.ERROR(INDICE(HorarioAsignatura!$D$50:$D$54;COINCIDIR(7;HorarioAsignatura!I50:I54));"");SI($C$4="OCTAVO";SI.ERROR(INDICE(HorarioAsignatura!$D$56:$D$60;COINCIDIR(8;HorarioAsignatura!I56:I60));"");""))))))))

Como ves código muy extenso, claro que me funciona, mejor voy a revisar lo que me has enviado pues según veo es mucho mas corto.
Con respecto a formulas en lugar de macros,... tengo entendido que las formulas corren el riesgo de ser borradas de sus celdas, lo que seria fastidioso nuevamente armar cada vez que se haya borrado.
Revisare el archivo

wibly


Ummmm, no es excusa  para mí... nunca se me había ocurrido hacer una macro por lo que dices del riesgo de ser borradas las fórmulas... este riesgo lo podés eliminar protegiendo la hoja (y si quieres que algunas celdas puedan ser modificadas debes previamente quitarle el formato de BOLQUEADA a esas celdas).

 
Esa fórmula que pones además debe valer para "CUARTO", "QUINTO".... hasta "OCTAVO", y la que te pasé yo vale hasta "TERCERO", pero se puede generalizar fácilmente.

La forma en que están anidadas las funciones hace que la propuesta que te paso sea más sencilla:

Propuesta Nacho: SI > SIERROR > INDICE > COINCIDIR

Propuesta mía: SIERROR > INDICE > COINCIDIR > SI

Pero tené en cuenta que hay otras diferencias en las fórmulas, como los rangos de celdas sobre los que operan las fórmulas.

Saludos

Visor


He visto el archivo y según veo solo necesito poner una sola vez SI.ERROR  en la formula, es eso correcto???

pues en la que yo había hecho eso lo hace mas largo a la formula.

Me he cambiado a tu formula.

Ahora bien hay algo parecido que pienso que funciona con formulas pero trato de usar lo mismo que me has proporcionado, sin resultado correcto. Pero eso es motivo de subir otro tema, pues este considero que ya esta solucionado, las formulas recibidas las he podido adaptar a las otras celdas y a otros semestres por lo tanto veo con mucho provecho de aprendizaje este tema.
Te estoy muy agradecido
Saludos y abrazos

PD: En otros foros se suela colocar estrellitas al tema resuelto, aqui no se donde se hace eso

wibly


Visor,

En cuanto a tu pregunta "he visto el archivo y según veo solo necesito poner una sola vez SI.ERROR  en la formula, es eso correcto???", como estructuré la fórmula es así, solo va una vez, pero eso depende de como está armada la lógica de la fórmula.

Por el lado de las estrellas, en nuestro foro no se da puntaje a las respuestas, con que se marque el tema como "RESUELTO" y se agradezca la ayuda recibida está perfecto.

Saludos

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

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