Un lector preguntaba si habría forma de conseguir un reparto aleatorio de dos días por semana mediante macros o fórmulas...
Obviamente la respuesta es afirmativa. En esta ocasión montaré un conjunto de fórmulas empleando la función ALEATORIO.ENTRE, SI y SUMA.
Tendremos tres grupos de fórmulas distintas.
Primer grupo para el rango B3:B6 y rango C3:C6 donde incluiremos la misma fórmula:
=ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo")
donde realizamos un lanzamiento aleatorio entre 1 y 2 para poder seleccionar entre 'descanso' o 'trabajo'
Segundo grupo para el rango D3:D6,rango E3:E6 y rango F3:F6 donde incluiremos la misma fórmula:
=SI(CONTAR.SI($B3:C3;"descanso")>=2;"trabajo";ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo"))
en este grupo incluimos un condicional
SI(CONTAR.SI($B3:C3;"descanso")>=2;"trabajo";....
que controla el caso en que ya hayan aparecido dos 'descansos', en tal caso, indicamos día de 'trabajo'.
Tercer grupo para el rango G3:G6 y rango H3:H6 donde incluiremos la misma fórmula:
=SI(CONTAR.SI($B3:F3;"descanso")<2;"descanso";SI(CONTAR.SI($B$3:F3;"descanso")≥2;"trabajo";ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo")))
donde incluimos un segundo condicional
=SI(CONTAR.SI($B3:F3;"descanso")<2;"descanso";
con el que controlamos que no aparezcan menos de dos días de descanso!!!.
Algo sencillo y práctico empleando funciones habituales...
Obviamente la respuesta es afirmativa. En esta ocasión montaré un conjunto de fórmulas empleando la función ALEATORIO.ENTRE, SI y SUMA.
Tendremos tres grupos de fórmulas distintas.
Primer grupo para el rango B3:B6 y rango C3:C6 donde incluiremos la misma fórmula:
=ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo")
donde realizamos un lanzamiento aleatorio entre 1 y 2 para poder seleccionar entre 'descanso' o 'trabajo'
Segundo grupo para el rango D3:D6,rango E3:E6 y rango F3:F6 donde incluiremos la misma fórmula:
=SI(CONTAR.SI($B3:C3;"descanso")>=2;"trabajo";ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo"))
en este grupo incluimos un condicional
SI(CONTAR.SI($B3:C3;"descanso")>=2;"trabajo";....
que controla el caso en que ya hayan aparecido dos 'descansos', en tal caso, indicamos día de 'trabajo'.
Tercer grupo para el rango G3:G6 y rango H3:H6 donde incluiremos la misma fórmula:
=SI(CONTAR.SI($B3:F3;"descanso")<2;"descanso";SI(CONTAR.SI($B$3:F3;"descanso")≥2;"trabajo";ELEGIR(ALEATORIO.ENTRE(1;2);"descanso";"trabajo")))
donde incluimos un segundo condicional
=SI(CONTAR.SI($B3:F3;"descanso")<2;"descanso";
con el que controlamos que no aparezcan menos de dos días de descanso!!!.
Algo sencillo y práctico empleando funciones habituales...
Muchas gracias. Aclarada la duda. Bendiciones
ResponderEliminar;-)
Eliminarslds
REALIZE EL CUATRO PERO EN EL LA PRIMER FILA SALEN ALGUNAS VECES 3 DESCANSOS
ResponderEliminarHola Dámaso,
Eliminarte has asegurado de incluir correctamente las fórmulas (con las referencias mixtas o relativas correspondientes)... fíjate en las limitaciones y condiciones que existen que fuerzan y trabajan sobre la hipótesis de dos días de descanso.
Slds