我有如下客户销售数据:
| - | 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多个客户和销售数据,拥有一个公式可以节省大量时间。
答案 0 :(得分:4)
答案 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()
处理数组操作