Reducir formula

18/06/2006 - 18:04 por JACS | Informe spam
Hola me gustaria acortar esta formula, para poder incrementar las categorias
y poder añadirle la misma pero sin contar.
CONTAR(D15:AH15)*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL
2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24)+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"L";"S";"D";"F";"C"})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON
ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"S"\"D"\"F"\"C"}&{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON
ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))

Preguntas similare

Leer las respuestas

#1 Miguel Zapico
19/06/2006 - 04:47 | Informe spam
Una cosa que puedes hacer es escribir todas las matrices que tienes en rangos
de Excel, y poner un nombre a cada rango. De este modo reduces mucho el
texto de la fórmula, y además tienes un único punto de cambio si quieres
añadir una categoría nueva, que es la definición del nombre.

Saludos,
Miguel.

"JACS" wrote:

Hola me gustaria acortar esta formula, para poder incrementar las categorias
y poder añadirle la misma pero sin contar.
CONTAR(D15:AH15)*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL
2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24)+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"L";"S";"D";"F";"C"})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON
ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"S"\"D"\"F"\"C"}&{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON
ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))
Respuesta Responder a este mensaje
#2 Héctor Miguel
19/06/2006 - 06:16 | Informe spam
hola, chicos !

1) para que sea 'flexible' la administracion de las categorias [agregar o quitar] -> define nombres [como sugiere Miguel]
[pueden ser desde rangos... o constantes en la definicion de los nombres... SOLO modificas la asignacion o referencia] ;)

2) para 'adelgazar' la formula... -> modifica 'la logica' [o la secuencia] en la que estas 'multiplicando los conteos' [me explico]:

a) puedes recortar 26 caracteres... si cambias la constante del 1 al 20 {1;2;...20} por: -> columna(indirecto("1:20"))
si llegaras a necesitar 50... solo modificas un caracter... en lugar de aumentar 150 [dos por cada uno mas el separador] :))

b) puedes recortar otros 274 caracteres... si en lugar de multiplicar CADA uno de los 3 'conteos' por 'su categoria'...
'acumulas' [primero] TODOS los 'conteos'... y [despues] haces SOLO UNA 'multiplicacion' :)) [me explico]:

1. la multiplicacion [de la categoria] la haces con la siguiente fraccion [que se repite TRES veces en la formula]...
elegir(coincidir(c8;{"peon"\"peon esp"\"ayudante"\"oficial 2ª"\"oficial 1ª"\"capataz"\"encargado"};0);az12;az14;az16;az18;az20;az22;az24)
2. los 3 conteos que haces [en el rango expuesto de 'D15:AH15'] son...
2.1. numeros: contar(d15:ah15)
2.2. textos 1: sumaproducto(contar.si(d15:ah15;{"L";"S";"D";"F";"C"})
2.3. textos 2: sumaproducto(contar.si(d15:ah15;{"S"\"D"\"F"\"C"}&columna(indirecto("1:20")))
3. para 'ahorrarte' los 300 caracteres [independientemente de los que te ahorres despues con la definicion de los nombres]...
modifica la formula que expones con una +/- como sigue:
=(contar(d15:ah15)+sumaproducto(contar.si(d15:ah15;{"l";"s";"d";"f";"c"}))+sumaproducto(contar.si(d15:ah15;{"s"\"d"\"f"\"c"}&columna(indirecto("1:20")))))*elegir(coincidir(c8;{"peon"\"peon esp"\"ayudante"\"oficial 2ª"\"oficial 1ª"\"capataz"\"encargado"};0);az12;az14;az16;az18;az20;az22;az24)

si en alguna parte de la formula requieres referencias [semi]constantes/variables...
ya dependera del uso 'real' que hagas de la formula [y/o los detalles que no has expuesto] :))

saludos,
hector.

Miguel Zapico escribio en el mensaje ...
... escribir todas las matrices... en rangos... y poner un nombre a cada rango.
... reduces mucho el texto de la formula, y... tienes un unico punto de cambio si quieres a#adir una categoria nueva
... la definicion del nombre.

JACS escribio en el mensaje ...
... me gustaria acortar esta formula, para poder incrementar las categorias y poder a#adirle la misma pero sin contar.
CONTAR(D15:AH15)*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL 1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24)+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"L";"S";"D";"F";"C"})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"S"\"D"\"F"\"C"}&{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))
Respuesta Responder a este mensaje
#3 JACS
29/06/2006 - 20:11 | Informe spam
"Héctor Miguel" escribió:

hola, chicos !

1) para que sea 'flexible' la administracion de las categorias [agregar o quitar] -> define nombres [como sugiere Miguel]
[pueden ser desde rangos... o constantes en la definicion de los nombres... SOLO modificas la asignacion o referencia] ;)

2) para 'adelgazar' la formula... -> modifica 'la logica' [o la secuencia] en la que estas 'multiplicando los conteos' [me explico]:

a) puedes recortar 26 caracteres... si cambias la constante del 1 al 20 {1;2;...20} por: -> columna(indirecto("1:20"))
si llegaras a necesitar 50... solo modificas un caracter... en lugar de aumentar 150 [dos por cada uno mas el separador] :))

b) puedes recortar otros 274 caracteres... si en lugar de multiplicar CADA uno de los 3 'conteos' por 'su categoria'...
'acumulas' [primero] TODOS los 'conteos'... y [despues] haces SOLO UNA 'multiplicacion' :)) [me explico]:

1. la multiplicacion [de la categoria] la haces con la siguiente fraccion [que se repite TRES veces en la formula]...
elegir(coincidir(c8;{"peon"\"peon esp"\"ayudante"\"oficial 2ª"\"oficial 1ª"\"capataz"\"encargado"};0);az12;az14;az16;az18;az20;az22;az24)
2. los 3 conteos que haces [en el rango expuesto de 'D15:AH15'] son...
2.1. numeros: contar(d15:ah15)
2.2. textos 1: sumaproducto(contar.si(d15:ah15;{"L";"S";"D";"F";"C"})
2.3. textos 2: sumaproducto(contar.si(d15:ah15;{"S"\"D"\"F"\"C"}&columna(indirecto("1:20")))
3. para 'ahorrarte' los 300 caracteres [independientemente de los que te ahorres despues con la definicion de los nombres]...
modifica la formula que expones con una +/- como sigue:
=(contar(d15:ah15)+sumaproducto(contar.si(d15:ah15;{"l";"s";"d";"f";"c"}))+sumaproducto(contar.si(d15:ah15;{"s"\"d"\"f"\"c"}&columna(indirecto("1:20")))))*elegir(coincidir(c8;{"peon"\"peon esp"\"ayudante"\"oficial 2ª"\"oficial 1ª"\"capataz"\"encargado"};0);az12;az14;az16;az18;az20;az22;az24)

si en alguna parte de la formula requieres referencias [semi]constantes/variables...
ya dependera del uso 'real' que hagas de la formula [y/o los detalles que no has expuesto] :))

saludos,
hector.

> Miguel Zapico escribio en el mensaje ...
> ... escribir todas las matrices... en rangos... y poner un nombre a cada rango.
> ... reduces mucho el texto de la formula, y... tienes un unico punto de cambio si quieres a#adir una categoria nueva
> ... la definicion del nombre.

>> JACS escribio en el mensaje ...
>> ... me gustaria acortar esta formula, para poder incrementar las categorias y poder a#adirle la misma pero sin contar.
>> CONTAR(D15:AH15)*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL 1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24)+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"L";"S";"D";"F";"C"})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
>> 1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))+SUMAPRODUCTO(CONTAR.SI(D15:AH15;{"S"\"D"\"F"\"C"}&{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20})*ELEGIR(COINCIDIR(C8;{"PEON"\"PEON ESP"\"AYUDANTE"\"OFICIAL 2ª"\"OFICIAL
>> 1ª"\"CAPATAZ"\"ENCARGADO"};0);AZ12;AZ14;AZ16;AZ18;AZ20;AZ22;AZ24))




Hola, seguro que lo que me explicais esta clarisimo, pero estoy intentando
llevarlo a cabo y no me sale, seguro que no es problema de la formula, es
culpa de mi torpeza, podriais ponerme un ejemplo.

Muchas GRACIAS anticipadas.
Respuesta Responder a este mensaje
#4 Héctor Miguel
30/06/2006 - 03:59 | Informe spam
hola, JACS !

... seguro que lo que me explicais esta clarisimo, pero estoy intentando llevarlo a cabo y no me sale
seguro que no es problema de la formula... podriais ponerme un ejemplo.



[creo que] mas que 'ponerte' un ejemplo... [ya lo has puesto en la formula de tu consulta inicial] ;)
podrias usar la formula 'propuesta' en [p.e.] una celda contigua a donde usas la formula expuesta...
y verificar si se comportan y devnelven los mismos resultados -?-

si cualquier duda [o informacion adiconal]... comentas ?
saludos,
hector.

p.d. toma en cuenta que -incluso- trate de usar los mismos separadores de tu formula 'origilal' :D
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida