公式以获取最后一个值的月份

时间:2018-09-27 04:35:38

标签: excel date excel-formula

我有如下客户销售数据:

| - | 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年4月18日,而Mr.B的最后订购是在6月18日。

自2016年4月到上个月,我拥有2,000多个客户和销售数据,拥有一个公式可以节省大量时间。

2 个答案:

答案 0 :(得分:4)

假设您的“月”是日期,而不是文本。礼貌@barry houdini

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

在第2行中并向下复制以适合格式mmm-yy

Ref

答案 1 :(得分:0)

this answer中那样使用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()处理数组操作

相关问题