Formulas matriciales

22/12/2005 - 20:11 por Gabriel Raigosa | Informe spam
Saludos;

En esta pagina web
www..X-Cell\xcell05.free.fr/index.html

encontre lo siguiente;

1) Simplifier les formules matricielles par la fonction SOMMEPROD
La fonction SOMMEPROD sert en principe à calculer une somme de produits :

=SOMMEPROD(A1:A3;B1:B3) renvoie A1*B1+A2*B2+A3*B3

Une caractéristique (non documentée par Microsoft) de SOMMEPROD est
qu'elle marche comme fonction matricielle sans nécessiter une saisie
matricielle par Ctrl+Maj+Entrée. Ainsi :

{=SOMME(N(A1:A10)<100))} (validé par Ctrl+Maj+Entrée) a pour équivalent :

=SOMMEPROD(N(A1:A10)<100) (validé simplement par Entrée)

Il est à noter que cette particularité n'implique aucune différence en
termes de vitesse de calcul.

Par commodité, la fonction SOMMEPROD est utilisée dans le reste de cet
article dans toutes les formules où elle est substituable à {=SOMME(...)}


Que hace la "N", que hay en esta funcion {=Suma(N(A1:A10)<100))}, pongo
esta función y me da uno,

Y por otro lado la función =SumaProducto(N(A1:A10)<100)) , que segun dice
solo se valida con enter tampoco hace nada me da #¡valor!

"N" ,Devuelve un valor convertido en un número, Sintaxis N(valor)

tks
Gabriel Raigosa
Medellín - Colombia
GabrielRaigosa@hot.mail.com

Preguntas similare

Leer las respuestas

#6 Gabriel Raigosa
23/12/2005 - 07:57 | Informe spam
Saludos:

Me gustaria saber mas sobre esas funciones no documentadas y sobre sus
diversas aplicaciones.

Si tiene direcciones de internet sobre el tema que pueda pasarme yo las
consultraria.

En lo personal puedo consultar y estudiar el tema si me ayudan con las
pistas (guias, recomendaciones) apropiadas para buscar la información.

Y aun me falta revisar como 3.000 mensajes de este foto (ya los tengo en mi
PC, outlook)

TKS... QAP...
Gabriel Raigosa
Medellín - Colombia

"Héctor Miguel" escribió en el mensaje
news:
hola, Gabriel !

Por que, si las formulas y funciones matriciales tienen tantas
aplicaciones
los amigos de MS tienen tan poca informacion sobre su uso y aplicacion en
las Help propias?
He aprendido mucho de la tecla "F1", pero sobre este tema en particular,
casi nada...



no te 'sorprendas' :)) pero... [hasta donde se 'alcanza a ver']...
aparte de las funciones matriciales [y la informacion 'propia' de los
topicos en la ayuda en linea]...
-> existe un 'sin-numero' de funciones 'no-documentadas'...
[tanto como del comportamiento de algunos de sus argumentos en
'situaciones especiales'] :))

supongo que... siendo el equipo de desarrollo de las aplicaciones de
varias personas y grupos...
pudiera verse como 'normal' que se escapen algunas 'bondades' al pasarlas
a los archivos de ayuda -?-

despues de todo... para que estamos los usuarios ?
[sino para 'encontrar' -precisamente- donde 'les duele' a las
aplicaciones] :D

saludos,
hector.

Respuesta Responder a este mensaje
#7 Héctor Miguel
23/12/2005 - 08:53 | Informe spam
hola, Gabriel !

Me gustaria saber mas sobre esas funciones no documentadas y sobre sus diversas aplicaciones...
Y aun me falta revisar como 3.000 mensajes de este foro (ya los tengo en mi PC, outlook)...



encontrar sitios que 'hablen' -expresamente- de lo 'no-documentado' en las aplicaciones... :P
prueba inciando con los siguientes:
http://support.microsoft.com/kb/200724
http://mvps.org/dmcritchie/excel/da...tm#datedif
http://rahul.f2g.net/rahul/excel.htm
http://support.microsoft.com/defaul...;es;843504
http://j-walk.com/ss/excel/eee/index.htm

saludos,
hector.
Respuesta Responder a este mensaje
#8 KL
23/12/2005 - 10:34 | Informe spam
Hola chicos,

Hay unas afirmaciones en el articulo de Bob Philips que yo encuentro un poco imprecisas:

"When using the SUMPRODUCT function, all arrays must be the same size, as corresponding members of each array are multiplied by each
other."

"When using the SUMPRODUCT function, no array can be a whole column (A:A), the array must be for a range within a column (although
the best part of a column could be defined with A1:A65535 if so desired). Whole rows (1:1) are acceptable."

"In a SUMPRODUCT function, the arrays being evaluated cannot be a mix of column and row ranges, they must all be columns, or all
rows. However, the row data can be transposed to present it to SUMPRODUCT as columnar - see the Using TRANSPOSE to test against
values in a column not row example."

El resultado parece ser que uno saca las conclusiones de caracter universal - SUMAPRODUCTO y las matrices de diferentes dimensiones,
orientacion o columnas enteras no pueden ir juntos en una formula (precisamente dentro de los parametros de SUMAPRODUCTO), lo cual
no es del todo correcto. Por ejemplo:

1) =SUMPRODUCT(--(A1:A1000={"A","B","C"}))
usa dos matrices de diferentes dimensiones, solo que dentro de un unico argumento

2) =SUMPRODUCT(SUMIF(A:A,{"<8681","<38663"},B:B)*{1,-1})
aqui hay de todo, pero lo importante es que se puede usar columnas enteras cuando se usa SUMAPRODUCTO, solo que para el momento en
que dicha funcion empiece a digerirlas ya las hemos reducido a una matriz de solo dos miembros.

3) =SUMPRODUCT((A2:A8="C")*(B1:D1=2)*B2:D8)
esta formula usa tres matrices de diferentes dimensiones y orientacion, solo que dentro de un unico argumento.

4) =SUMPRODUCT((A300:A310="C"),(B1:B11=2))
tampoco creo que se mencione en ninguna parte del articulo el hecho de que los rangos no tengan por que estar perfectamente
alineados.

Me parece que se podria al menos modificar las frases citadas por ejemplo de la siguiente manera, si no hacer una especial mencion
de los casos expuestos aqui:

"When using the SUMPRODUCT function, all arguments must return arrays of the same size, as corresponding members of each array are
multiplied by each other."

"When using the SUMPRODUCT function, no argument can be a whole column (A:A), the array must be for a range within a column
(although the best part of a column could be defined with A1:A65535 if so desired). Whole rows (1:1) are acceptable."

"In a SUMPRODUCT function, the arrays returned by all arguments cannot be a mix of column and row ranges, they must all be columns,
or all rows. However, the row data can be transposed to present it to SUMPRODUCT as columnar - see the Using TRANSPOSE to test
against values in a column not row example."

Saludos,
KL
Respuesta Responder a este mensaje
#9 KL
23/12/2005 - 11:09 | Informe spam
He enviado un mensaje a Laurent y me ha dicho que lo va a corregir. Ahora su web parece estar en mantenimiento (...o sera otra vez
el hacker que le destrozo el foro hace poco???)

Saludos,
KL


"Gabriel Raigosa" wrote in message news:uNT%23G%
OK.. tks...

todo por ese ")" me tenia medio :-(

:-)

Gabriel Raigosa
Medellin - Colombia

"KL" escribio en el mensaje news:e%
Hola Gabriel,

Que hace la "N", que hay en esta funcion {=Suma(N(A1:A10)<100))}...



Enhorabuena! Tienes buena vista eh! Para empezar, he comprobado personalmente y parece que al maestro Laurent Longre le sobra un
parentesis en la formula :-) Creo que deberia ser asi:

=SUMA(N(A1:A10<100))

Para entender lo que hace prueba introducir en cualquier celda las siguientes formulas:

=N(VERDADERO)
=N(FALSO)

es lo que hace - forzar la conversion de los valores logicos VERDADERO y FALSO en sus equivalentes numericos 1 y 0. La mayoria de
la gente usa los dos menoses

=--VERDADERO
=--FALSO

pero tambien se puede hacerlo mediante cualquier operacion aritmentica basica (*,/,^,-,+) o mediante la funcion VALOR()

Esta conversion es necesaria porque la equacion [A1:A10<100] devuelve una matriz compuesta por 10 valores logicos, algo asi:

{VERDADERO\FALSO\VERDADERO\FALSO...}

que no puede sumarse mediante funcion a no ser que se convierta en valor numerico.

...pongo esta función y me da uno,



Si ahora vuelves a introducir la formula con mi correccion y usando las teclas Ctrl+Shift+Enter te devolvera el numero de valores
superiores a 0 en el rango evaluado:

=SUMA(N(A1:A10<100))

Y por otro lado la función =SumaProducto(N(A1:A10)<100)) , que segun dice solo se valida con enter tampoco hace nada me da
#¡valor!



...y aqui basta con introducir la formula de m,anera habitual (Enter):

=SUMAPRODUCTO(N(A1:A10<100))

Saludos,
KL




Respuesta Responder a este mensaje
#10 Héctor Miguel
24/12/2005 - 00:35 | Informe spam
hola, KL !

Hay unas afirmaciones en el articulo de Bob Philips que yo encuentro un poco imprecisas: [...]



[me parece que]... la 'imprecision' que observas en las 'afirmaciones' que hace Bob Philips...
se deben -mas bien- a interpretaciones o 'semantica' y [quizas] un poco de confusion entre 'diferenciar'...
si Bob Philips [y cualquiera otro] 'debiera' hacer referencia a 'arrays'... o 'argumentos' -?-

p.e.: -> la sintaxis de la funcion 'en cuestion' es: -> sumproduct(array1,array2,array3,...array30)
1) cada 'array'... ES un 'argumento' [lo que viene a 'caer' en que SON: 'uno y lo mismo'] ;)
2) cada argumento, se debe 'separar' -> por un separador de argumentos [si se necesitan varios arrays/argumentos]
3) mientras 'construyas/arregles/anides/...' con varias partes/formulas/funciones/... -> CADA array [o argumento]...
excel lo seguira 'interpretando' como UNO SOLO [en tanto NO 'encuentre' un separador de argumentos entre cada uno] ;)
4) si la forma como se construye cada argumento 'resulta' en rapidez/lentitud en el re/calculo de la formula/funcion...
[creo que] ya vendra a ser 'materia' de otro tipo de 'averiguaciones' ;)

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida