Excel, чтобы указать месяц для представления данных

Можно ли указать месяц для отчета в ячейке с помощью Excel?

Например, программе Excel необходимо будет сообщать о последних продажах, о которых сообщалось, если они доступны. Если данные о продажах за февраль недоступны, в отчете будут указаны продажи за январь. Точно так же, если доступны мартовские продажи, он будет сообщать о продажах в марте.

Как написать эти формулы в ячейке в Excel? Если невозможно написать такую ​​формулу, можем ли мы написать для этого vba?


person user1199080    schedule 24.02.2012    source источник
comment
Слишком мало информации. Пожалуйста, предоставьте дополнительную информацию о макете / снимке данных   -  person Siddharth Rout    schedule 24.02.2012


Ответы (4)


Если вы имеете в виду, что у вас есть список записей о продажах и вам нужны данные о продажах за последний месяц, вы можете написать одну формулу, чтобы получить последний месяц. Если месяцы в A, вы можете написать: =month(max(A1:A99999))

Обратите внимание, если у вас есть данные за несколько лет, вам также нужно вывести год или получить ограничивающие даты. Затем вы можете суммировать продажи, используя формулу массива, например, предполагая, что результат первого действия находится в D1, а продажи - в B: {=sum(if(month(A1:A999999)=D1,B1:B999999,0))}

Если у вас есть инкрементальные обновления в течение месяца, это вернет данные за месяц до даты. Если вам нужны данные за последний полный месяц, вы можете использовать другую формулу массива, чтобы получить максимальный месяц, где дата является последним днем ​​месяца.

person ABS    schedule 24.02.2012
comment
Позвольте мне уточнить. Ячейки с a1 по a12 - это месяцы с января по декабрь. ячейки с b1 по b12 - это данные о продажах. В настоящее время у меня есть данные за январь. Я бы сообщил о продажах за январь. Когда доступны данные по feb, мне нужно сообщить данные о feb. Можно ли написать формулы, чтобы вытащить последние данные по месяцам. Спасибо тем, кто посмотрел на это и попытался ответить. - person user1199080; 24.02.2012
comment
Какие данные сообщаются за те месяцы, которых еще не было? - person ABS; 24.02.2012

Если ячейки для будущих данных в B1: B12 пусты, вам просто нужно извлечь последнее число в B1: B12, не так ли? Если да, то попробуйте

=LOOKUP(9.99E+307,B1:B12)

person barry houdini    schedule 24.02.2012

Вы можете использовать функцию СМЕЩЕНИЕ для выбора конкретных данных в зависимости от месяца.

Вставьте формулу для расчета текущего месяца (или просто введите номер месяца)

=MONTH(TODAY())

Формула для выбора данных о продажах за текущие месяцы

=SUM(OFFSET(B1,MONTH(TODAY()),0,1,1))

Взгляните на справку в Excel по функции СМЕЩЕНИЕ. Его можно использовать для выбора диапазона данных. Например, чтобы вернуть данные с начала года до текущего месяца, формула будет выглядеть так:

=SUM(OFFSET(B1,1,0,MONTH(TODAY()),1))

Снимок экрана с образцом рабочего листа

Если текущий месяц еще не содержит данных, вы можете проверить, возвращается ли значение, и вернуться к предыдущему месяцу, если данных нет.

=IF(SUM(OFFSET(B1,B16,0,1,1))=0,SUM(OFFSET(B1,B16-1,0,1,1),SUM(OFFSET(B1,B16,0,1,1))))
person Robert Mearns    schedule 24.02.2012

Я нашел такой ответ:

=IF(B12<>0,B12,IF(B11<>0,B11,IF(B10<>0,B10,IF(B9<>0,B9,IF(B8<>0,B8,IF(B7<>0,B7,IF(B6<>0,B6,IF(B5<>0,B5,IF(B4<>0,B4,IF(B3<>0,B3,IF(B2<>0,B2,IF(B1<>0,B1,0))))))))))))

Эта формула решает проблему сбора самых последних доступных данных.

person user1199080    schedule 28.02.2012