Формула для получения месяца последнего значения

У меня есть следующие данные о продажах по клиентам:

| - | A             | B      | C      | D      | E      | F      | G      |
|---|---------------|--------|--------|--------|--------|--------|--------|
| 1 | Customer Name | Jan-18 | Feb-18 | Mar-18 | Apr-18 | May-18 | Jun-18 |
| 2 | Mr.A          | 1000   | 500    | 0      | 200    | 0      | 0      |
| 3 | Mr.B          | 0      | 300    | 200    | 0      | 0      | 100    |

Мне нужна формула, чтобы знать последние продажи соответствующего заказанного клиента (название месяца)

в этом случае последний заказ по Mr. A находится в апреле-18, а Mr.B - в 18 июня.

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

пожалуйста, включите снимок экрана из Excel для лучшего понимания

LazZiya 27.09.2018 06:45
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
3
1
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Предполагая, что ваши «месяцы» - это даты, а не текст. Предоставлено @barry houdini:

=LOOKUP(2,1/(B2:G2<>0),B$1:G$1)  

в Row2 и скопировал в соответствии с требованиями, отформатировал mmm-yy.

Ссылка

Альтернатива использованию LOOKUP(), как в этот ответ, не уверен, какое влияние это окажет на производительность, поскольку оба должны создать массив, но я бы сделал удар в темноте, что это менее производительно:

=INDEX($B$1:$G$1,,MAX((B2:G2<>0)*COLUMN(B2:G2)-1)) - Ctrl + Shift + Enter

Конечно, это также можно отредактировать для двойного поиска по клиенту:

=INDEX($B$1:$G$1,,MAX(INDEX(($B$2:$G$3<>0)*COLUMN($B$2:$G$3)-1,MATCH("Mr.B",$A$2:$A$3,0),0)))

Для этого не требуется CSE, поскольку INDEX() обрабатывает манипуляции с массивом.

Извините, я пробовал, это не сработало, мне просто любопытно с этой формулой, однако я попробовал ответить @pnuts, он работает, спасибо ...

Oline 28.09.2018 06:19

Другие вопросы по теме