Sin duda las funciones macro 4.0 es una reminiscencia del pasado de Excel... incluso recientemente Microsoft decidió deshabilitarlas por defecto...
Pero siguen estando ahí presentes. Y aunque la inmensa mayoría de ellas solo tienen sentido dentro del contexto de las hojas de macros 4.0 de un libro de trabajo, algunas de ellas las podemos emplear en una hoja de cálculo estándar...
En general todas aquellas que retornan información y que habitualmente, en su nombre en inglés, contienen la palabra GET (es una generalidad, por supuesto).
Así pues, entre otras, funciones como:
GET.CELL = INDICAR.CELDA
GET.DOCUMENT = INDICAR.DOCUMENTO
GET.FORMULA = INDICAR.FORMULA
etc..
o respecto a información de tablas dinámicas:
GET.PIVOT.TABLE = INDICAR.TABLA.DINAMICA(type_num,pivot_table_name)
GET.PIVOT.FIELD = INDICAR.CAMPO.TABLA.DI(type_num, pivot_field_name, pivot_table_name)
GET.PIVOT.ITEM = INDICAR.ELEMENTO.TABLA.DI(type_num, pivot_item_name, pivot_field_name, pivot_table_name)
Sabemos que estas funciones las podemos emplear en nuestras hojas de cálculo, incluyéndolas dentro de Nombres definidos...
Un punto interesante, ya que coincide con el comportamiento o el requerimiento de las novedosas funciones LAMBDA.
Converge pasado y futuro... lo que nos abre una posibilidad de trabajo muy interesante.
Como ejemplo de lo potente de combinar funciones, veremos como facilita LAMBDA el uso de estas funciones macro 4.0.
Pongamos por caso que tenemos una tabla dinámica, llamada 'TD_UNO', de la cual me interesa recuperar cierta información. Por ejemplo:
- cuándo fue (hora, minuto y segundo) actualizada por última vez
- quién fue el usuario que hizo esa última actualización
- o cuál es la lista de campos disponibles para nuestra tabla dinámica
- o qué campos están a la vista (o cuáles ocultos/no mostrados) en la tabla dinámica
- o una lista de campos en el área de filas (o área de columnas o en el área de filtros)
- o cuál es el rango de celdas que ocupa la tabla dinámica, o el rango del área de filas/columnas/filtros
- y así hasta 22 puntos de información increible!!
Todo esto nos lo puede aportar la función:
INDICAR.TABLA.DINAMICA(type_num,pivot_table_name)
solo dos argumentos.
El primero - type_num - un valor entero de 1 a 22, cada uno muestra uno de los puntos de información comentados brevemente (es fácil de identificar qué significan la mayoría de ellos.
El segundo argumento - pivot_table_name - nos pide el nombre, entre comillas, de la tabla dinámica de la que queremos obtener información...
Si trabajamos la función bajo el paraguas de LAMBDA, podríamos definir la siguiente función:
=LAMBDA(tipo;INDICAR.TABLA.DINAMICA(tipo;"TD_UNO"))
para luego incluirla en el Administrador de nombres asignándole un nombre de función personalizado.
Puedes ver el resultado en la imagen siguiente.... donde en la celda G3:G24 añadimos nuestra función Lamnda recién creada: =fxPT(F23)
El significado de cada tipo sería pues:
Increible función!!...
Pues espera, tenemos también:
INDICAR.CAMPO.TABLA.DI(type_num, pivot_field_name, pivot_table_name)
con 17 posibilidades de información!!!.
Si la embebemos dentro de LAMBDA tendríamos (en un nombre definido):
=LAMBDA(tipo;campo;INDICAR.CAMPO.TABLA.DI(tipo;campo;"TD_UNO"))
donde deberemos informa del tipo (entero entre 1- 17, y un campo de nuestra tabla dinámica 'TD_UNO'.
A modo de ejemplo...
Sin pretensiones de aburrir con listados interminables:
Y de forma similar tendríamos:
INDICAR.ELEMENTO.TABLA.DI(type_num, pivot_item_name, pivot_field_name, pivot_table_name)
con otras 9 posibilidades.
1-posición del elemento dentro del campo
2-celda donde se ubica
3-rango donde se despliegan los valores de ese elemento
...
Quizá no tan útil como las anteriores, pero interesante conocer de su existencia.
Creo que es importante aprovecharse de lo mejor de ambos mundos (pasado y presente-futuro), y sin duda este tipo de funciones macro 4.0 ofrecen unas opciones inimaginables para la mayoría!!.
Y recuerda que solo he mostrado algunas de las funciones disponibles :OOO
Pero siguen estando ahí presentes. Y aunque la inmensa mayoría de ellas solo tienen sentido dentro del contexto de las hojas de macros 4.0 de un libro de trabajo, algunas de ellas las podemos emplear en una hoja de cálculo estándar...
En general todas aquellas que retornan información y que habitualmente, en su nombre en inglés, contienen la palabra GET (es una generalidad, por supuesto).
Así pues, entre otras, funciones como:
GET.CELL = INDICAR.CELDA
GET.DOCUMENT = INDICAR.DOCUMENTO
GET.FORMULA = INDICAR.FORMULA
etc..
o respecto a información de tablas dinámicas:
GET.PIVOT.TABLE = INDICAR.TABLA.DINAMICA(type_num,pivot_table_name)
GET.PIVOT.FIELD = INDICAR.CAMPO.TABLA.DI(type_num, pivot_field_name, pivot_table_name)
GET.PIVOT.ITEM = INDICAR.ELEMENTO.TABLA.DI(type_num, pivot_item_name, pivot_field_name, pivot_table_name)
Sabemos que estas funciones las podemos emplear en nuestras hojas de cálculo, incluyéndolas dentro de Nombres definidos...
Un punto interesante, ya que coincide con el comportamiento o el requerimiento de las novedosas funciones LAMBDA.
Converge pasado y futuro... lo que nos abre una posibilidad de trabajo muy interesante.
Como ejemplo de lo potente de combinar funciones, veremos como facilita LAMBDA el uso de estas funciones macro 4.0.
Pongamos por caso que tenemos una tabla dinámica, llamada 'TD_UNO', de la cual me interesa recuperar cierta información. Por ejemplo:
- cuándo fue (hora, minuto y segundo) actualizada por última vez
- quién fue el usuario que hizo esa última actualización
- o cuál es la lista de campos disponibles para nuestra tabla dinámica
- o qué campos están a la vista (o cuáles ocultos/no mostrados) en la tabla dinámica
- o una lista de campos en el área de filas (o área de columnas o en el área de filtros)
- o cuál es el rango de celdas que ocupa la tabla dinámica, o el rango del área de filas/columnas/filtros
- y así hasta 22 puntos de información increible!!
Todo esto nos lo puede aportar la función:
INDICAR.TABLA.DINAMICA(type_num,pivot_table_name)
solo dos argumentos.
El primero - type_num - un valor entero de 1 a 22, cada uno muestra uno de los puntos de información comentados brevemente (es fácil de identificar qué significan la mayoría de ellos.
El segundo argumento - pivot_table_name - nos pide el nombre, entre comillas, de la tabla dinámica de la que queremos obtener información...
Si trabajamos la función bajo el paraguas de LAMBDA, podríamos definir la siguiente función:
=LAMBDA(tipo;INDICAR.TABLA.DINAMICA(tipo;"TD_UNO"))
para luego incluirla en el Administrador de nombres asignándole un nombre de función personalizado.
Puedes ver el resultado en la imagen siguiente.... donde en la celda G3:G24 añadimos nuestra función Lamnda recién creada: =fxPT(F23)
El significado de cada tipo sería pues:
INDICAR.TABLA.DINAMICA(type_num,pivot_table_name) 1 último usuario que actualizá la TD 2 fecha última actualización 3 campos disponibles en la TD 4 número de campos disponibles 5 campos mostrados 6 campos no mostrados 7 campos en el área de filas 8 campos en el área de columnas 9 campos en el área de filtros 10 campos en el área de valores 11 rango sin incluir área de filtros 12 rango incluyendo el área de filtro 13 rango del área de filas 14 rango del área de columnas 15 celda que define la TD 16 rango del área de filtros 17 rango del área de valores 18 Verdadero si muestra Totales por fila 19 Verdadero si muestra Totales por columna 20 Verdadero si se guardan los datos con la TD 21 Verdadero si está habilitado el Autoajuste de columnas 22 fuente de la TD
Increible función!!...
Pues espera, tenemos también:
INDICAR.CAMPO.TABLA.DI(type_num, pivot_field_name, pivot_table_name)
con 17 posibilidades de información!!!.
Si la embebemos dentro de LAMBDA tendríamos (en un nombre definido):
=LAMBDA(tipo;campo;INDICAR.CAMPO.TABLA.DI(tipo;campo;"TD_UNO"))
donde deberemos informa del tipo (entero entre 1- 17, y un campo de nuestra tabla dinámica 'TD_UNO'.
A modo de ejemplo...
Sin pretensiones de aburrir con listados interminables:
INDICAR.CAMPO.TABLA.DI(type_num, pivot_field_name, pivot_table_name) 1 todos los elementos del campo 2 los elementos visibles del campo 3 los elementos no visibles del campo 4 área de ubicación del campo (0 = oculto / 1 = filas / 2 = Cols / 3 = filtros / 4 = valores) 5 ….
Y de forma similar tendríamos:
INDICAR.ELEMENTO.TABLA.DI(type_num, pivot_item_name, pivot_field_name, pivot_table_name)
con otras 9 posibilidades.
1-posición del elemento dentro del campo
2-celda donde se ubica
3-rango donde se despliegan los valores de ese elemento
...
Quizá no tan útil como las anteriores, pero interesante conocer de su existencia.
Creo que es importante aprovecharse de lo mejor de ambos mundos (pasado y presente-futuro), y sin duda este tipo de funciones macro 4.0 ofrecen unas opciones inimaginables para la mayoría!!.
Y recuerda que solo he mostrado algunas de las funciones disponibles :OOO
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.