Tengo una tabla dinámica en Excel con dos líneas de tiempo, una para el mes y otra para los días. ¿Hay alguna manera de obtener la cantidad de meses y / o días seleccionados?

No estoy muy seguro de lo que estás tratando de contar. La pregunta original pedía contar la cantidad de días o meses en una tabla dinámica. La única tabla dinámica que veo está en la hoja de trabajo Top 10 Table, y no hay meses ni días mostrados en ella.

Veo meses enumerados en una tabla no dinámica en el modelo de capacidad de la hoja de trabajo en las celdas A1: U12. Si esa tabla se puede expandir a A1: U16, puede contar la cantidad de meses usando una fórmula en la hoja de cálculo Capacidad Modelo celda O20 como:

= SUMPRODUCT (COUNTIF (A1: A16, TEXT (FECHA (AÑO (AHORA ()), FILA ($ 1: $ 12), 1), “mmmm”)))

Romper la fórmula aparte:

ROW ($ 1: $ 12) devuelve los números del 1 al 12 como una matriz

AÑO (AHORA ()) devuelve el año actual. Esto es arbitrario y podría reemplazarse por un 2016 fijo (o cualquier otro año) si lo desea.

DATE (YEAR (NOW ()), ROW ($ 1: $ 12), 1) devuelve las fechas 1 de enero, 1 de febrero, etc. para cada mes del año como una matriz

TEXT (DATE (YEAR (NOW ()), ROW ($ 1: $ 12), 1), “mmmm”) devuelve esas fechas como el nombre de cada mes (es decir, “enero”, “febrero”, “marzo”, etc. ) como una matriz

COUNTIF (A1: A16, TEXT (DATE (YEAR (NOW ()), ROW ($ 1: $ 12), 1), “mmmm”)) devuelve una matriz de 1 y 0 según si el texto en A1: A16 coincide con nombre de uno de los meses

SUMPRODUCT luego suma esos elementos de matriz 1 y 0 para darle el número de celdas en A1: A16 cuyo valor es igual al nombre de un mes

También puedo contar la cantidad de elementos seleccionados en una segmentadora usando el código VBA y una fórmula de hoja de trabajo. Tenga en cuenta que esta fórmula no se actualizará cuando seleccione o anule la selección de un elemento en la segmentación, sino solo cuando cambie un valor en una celda, ya sea manualmente o mediante el recálculo de la fórmula. Coloque la función definida por el usuario que se muestra a continuación en una hoja de módulo normal, luego guarde el archivo como un libro de trabajo habilitado para macros (es decir, con la extensión de archivo .xlsm). Luego usa la función definida por el usuario en una fórmula de hoja de trabajo en la celda O21 del Modelo de capacidad de la hoja de trabajo como:

= SlicerItemsSelected (“Slicer_Day_of_week”)

FWIW, obtuve el nombre de la rebanadora “Slicer_Day_of_week” al grabar una macro que cambia la selección de una rebanadora.

Función SlicerItemsSelected (SlicerName As String) como largo
Dim slicerItem As slicerItem
Dim i As Long
Aplicación volátil
Para cada slicerItem en ThisWorkbook.SlicerCaches (SlicerName) .SlicerItems
If slicerItem.Selected = True Entonces i = i + 1
próximo
SlicerItemsSelected = i
Función final

Todavía es difícil sugerir algo, ya que la fuente de la tabla Pivot no está en el archivo de Excel que cargó, por lo que es muy difícil poner algún tipo de fórmula para contar el número de filas en la rebanadora. Si está bien con el enfoque VBA, el enfoque de Brad debería funcionar bien.

De lo contrario, recomendaría usar powerpivot, que le proporcionará todas las capacidades DAX y, por lo tanto, podrá usar algo como

DISTINCTCOUNT

para obtener el recuento de días seleccionados en rebanador