Формула, чтобы получить месяц последнего значения - PullRequest
0 голосов
/ 27 сентября 2018

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

| - | 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 года до прошлого месяца, это будет огромное времясохранение, чтобы иметь формулу, чтобы помочь.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Альтернатива использованию 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() обрабатывает манипуляции с массивом

0 голосов
/ 27 сентября 2018

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

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

в строке 2 и скопировано в соответствии с форматом mmm-yy.

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...