top of page
Foto del escritorJaime Franco Jimenez

6. Operador implícito (@)



El operador de intersección implícita se presentó como parte de la actualización importante del lenguaje de fórmulas de Excel para admitir matrices dinámicas.


Las matrices dinámicas aportan a Excel una nueva capacidad y funcionalidad de cálculo.


El lenguaje de fórmulas actualizado de Excel es casi idéntico al idioma anterior, excepto en que usa el operador arroba (@) para indicar dónde se podría producir la intersección implícita, mientras que el lenguaje anterior lo hacía silenciosamente.


Por lo tanto, es posible que vea que arroba (@) aparece en algunas fórmulas cuando se abre en la matriz dinámica de Excel.


Es importante tener en cuenta que las fórmulas continuarán calculando de la misma manera que siempre tienen.


¿Qué es la intersección implícita?

La lógica de intersección implícita reduce muchos valores a un solo valor.


Excel hizo lo siguiente para forzar que una fórmula devuelva un único valor, ya que una celda solo puede contener un único valor.


Si la fórmula devuelve un único valor, la intersección implícita no hizo nada (aunque técnicamente se hiciera en segundo plano).


La lógica funciona de la siguiente manera:


· Si el valor es un solo elemento, devuelva el elemento.

· Si el valor es un rango, devuelva el valor de la celda de la misma fila o columna que la fórmula.

· Si el valor es una matriz, seleccione el valor de la parte superior izquierda.


Con la llegada de las matrices dinámicas, Excel ya no se limita a devolver valores únicos de fórmulas, por lo que ya no es necesario intersección implícita silenciosa.


En los casos en que una antigua fórmula podría desencadenar una intersección implícita, la matriz dinámica habilitada muestra dónde se habría producido con el símbolo @.


¿Por qué el símbolo @?

El símbolo @ ya se usa en referencias de tabla para indicar una intersección implícita.

Considere la siguiente fórmula en una tabla =[@VALORES].













Aquí, la @ indica que la fórmula debería usar una intersección implícita para recuperar el valor en la misma fila de [VALORES].


Es decir, me está copiando el valor dé cada fila de la columna VALORES, en cada fila de la columna RESULTADOS.














Vamos a ver un ejemplo.


Tenemos los siguientes datos:












Voy a calcular el total de dichos números en la celda D20, haciendo uso de la función SUMA.


Vemos que nos devuelve un único valor, donde no se encuentra el símbolo arroba, delante de la columna.











Si el valor es un rango, devuelve los valores de la misma fila, o, columna.


Por ejemplo, me voy a colocar en la siguiente celda.













Escribo el signo igual, y, con el ratón, selecciono los datos.














Aceptamos.


Nos aparece una ventana emergente, donde nos dice, que la formula que hemos escrito, va a devolver varios valores, cosa que no se admite en tablas, si aceptamos la corrección de colocar el símbolo de arroba delante de la columna.







Pues, como es lo que queremos, hacemos clic en SI.


Si nos fijamos en la barra de fórmulas, podremos ver dicho símbolo.





Nos esta devolviendo cada valor de la primera matriz.


Lo siguiente que voy a hacer es ordenar los siguientes datos, con la función matricial ORDENAR.














Escribimos la siguiente expresión:

=ORDENAR([NUMEROS])


Aceptamos, y, vemos que tenemos un error de desbordamiento.














¿Por qué?

Esto es debido a que la expresión está devolviendo más de un valor, vamos a poner delante de la columna el símbolo de arroba.


=ORDENAR([@NUMEROS])


Vemos que ahora nos presenta todos los datos.














Si no ponemos el símbolo de arroba, el espera que la función va a devolver un solo valor, pero se esta encontrando con que esta función devuelve más de un valor, por lo que solo el nombre de la columna, nos va a devolver un error de desbordamiento.


Con la llegada de las matrices dinámicas, Excel no se limita a devolver un solo valor en una función, o, formula, por lo que ya no es necesario intersección implícita silenciosa.


El símbolo de arroba, ya se usa en referencia en tablas para indicar una intersección implícita.


Si nos fijamos en este ejemplo.














El operador implícito, se usa para recuperar para cada valor, en este caso, de cada fila.


¿Se puede quitar @?

A menudo puedes hacerlo, Depende de lo que la parte de la fórmula a la derecha de la @ devuelva.


· Si devuelve un único valor (el caso más común), no se eliminará el símbolo @.

· Si devuelve un rango o matriz, la eliminación del símbolo @ hará que se derrame en las celdas adyacentes.

· Si quita un @ agregado automáticamente y después abre el libro en una versión anterior de Excel, aparecerá como una fórmula de matriz heredada (con llaves {}), lo que hace que la versión anterior no desencadene la intersección implícita.


¿Cuándo agregamos las celdas @ a las anteriores?


· En general, las funciones que devuelven matrices o rangos de varias celdas con el prefijo @ si se crearon en una versión anterior de Excel.

· Es importante tener en cuenta que no hay cambios en la forma en que se comporta la fórmula: simplemente puede ver la intersección implícita anterior invisible.

· Entre las funciones comunes que pueden devolver rangos de varias celdas se incluyen las funciones de índice, desplazamiento y definido por el usuario (UDF).

· Una excepción común es si se incluyen en una función que acepta una matriz o rango (por ejemplo, suma () o promedio ()).


Vamos a ver otro ejemplo.


Tenemos el siguiente modelo, una fecha, un agente, y, un total.
















En D6, vamos a colocar la siguiente formula matricial, que producirá el siguiente derrame o desbordamiento.







Aceptamos.









Ya tenemos el derrame, ha devuelto varios valores, pero que ocurre si añadimos al principio de la formula el símbolo arroba (@).





Pues, devuelve un solo valor, que corresponde al valor que se encuentra en la misma fila donde se encuentra el valor, en este caso, devuelve 96.





Lo mismo, podemos hacer con la función INDICE, si usamos la siguiente sintaxis, donde omitimos el argumento fila:

=INDICE(D4:D7;1)


Nos devuelve una matriz derramada.







Pero, si delante de la matriz, es decir, delante de D4:D7, ponemos el símbolo arroba (@), nos devolverá un solo valor, que será el que corresponda a la celda donde se encuentra la formula, en este caso, de nuevo 96.

=INDICE(@D4:D7;1)





¿Qué ocurre si abrimos este archivo en una versión anterior de Excel, por ejemplo, 2013?, pues que se le añadirá a la formula matricial las llaves, y, no se producirá un desbordamiento.

520 visualizaciones0 comentarios

Entradas Recientes

Ver todo

コメント


bottom of page