Fórmula de Excel, contando el número de celdas desde la última vez que no es cero

Fórmula de Excel, contando el número de celdas desde la última vez que no es cero

Tengo varias columnas que indican ventas por mes, por ejemplo, lo siguiente podría indicar que hace dos meses hubo una venta de este cliente de $3555.

0,0,0,0,0,0,0,0,0,3555,0,0

Necesito una fórmula para calcular el número de meses desde la última venta, es decir, el resultado en este caso debería ser 2.

Respuesta1

Desarrollando más la respuesta de Jook:

Suponga que los valores de ventas de los meses 1 a 12 se encuentran en las celdas A1:L1.

Podemos usar una fórmula matricial para encontrar el resultado deseado:

=COLUMN(L1)-MAX(IF(A1:L1>0,COLUMN(A1:L1),0))

Ingrese la fórmula y escriba Ctrl+ Shift+ Enter para designarla como fórmula matricial. Excel mostrará automáticamente llaves:

{=COLUMN(L1)-MAX(IF(A1:L1>0,COLUMN(A1:L1),0))}

(No escriba las llaves).

Esto crea una matriz virtual que contiene los números de columna de las celdas donde las ventas son mayores que cero y encuentra el número de columna más grande (es decir, el más cercano al final del período del informe). Luego necesitamos restar este valor del número de la última columna.

Respuesta2

Aquí tienes una solución rápida para esto. Sin embargo, necesita una fila auxiliar, lo que significa que hay margen de mejora. Quizás alguien más pueda encargarse desde aquí.

Esta es la configuración:

month 1 2 3 4 5 6 7 8 9 10 11 12
sale  0 0 0 0 5 0 0 0 8 11 0  0 
help  0 0 0 0 5 0 0 0 9 10 0  0

fórmula de ayuda:

IF(SALE>0,MONTH,0) - IF(A2>0,A1,0)

meses desde la última venta:

MAX(A1:L1)-MATCH(MAX(A3:L3);A3:L3;0)

El principal problema es llegar al número máximo de columnas con un valor de venta mayor que 0. En este momento, solo puedo pensar en VBA y Matrix-Function para resolver esto sin la fila auxiliar. Pero tengo la sensación de que me falta algo.

información relacionada