You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让MATCH函数从右往左分析?解决客户购后空白月数统计问题

统计客户上次购买至今月数的公式方案

你的需求是找到每行(客户)最右侧的购买记录,计算它到当前最右月份列的空白单元格数量,也就是上次购买至今的月数。原公式=MATCH(FALSE,ISBLANK(C7:L7),0)-1是从左往右找第一个非空单元格,所以得到的是首次购买前的空白数,这里给你几个可行的解决方案:

1. 兼容多数Excel版本的LOOKUP公式

这个公式不需要特殊版本支持,直接输入即可:

=COLUMNS(C7:L7)-LOOKUP(2,1/(NOT(ISBLANK(C7:L7))),COLUMN(C7:L7)-COLUMN(C7)+1)
  • 逻辑:NOT(ISBLANK(C7:L7))标记所有非空单元格为TRUE,1/(...)把非空转为1、空单元格转为错误值;LOOKUP(2,...)会忽略错误值,定位到最后一个非空单元格的列序号(相对于C列的位置,比如C是1,D是2...);总列数减去这个序号,就是最后一次购买后到当前的空白月数。

2. Excel 365/2021专用的XLOOKUP公式

如果你的Excel是365或2021及以上版本,用XLOOKUP更直观,支持反向查找:

=COLUMNS(C7:L7)-XLOOKUP(TRUE,NOT(ISBLANK(C7:L7)),SEQUENCE(1,COLUMNS(C7:L7)),,0,-1)
  • 逻辑:SEQUENCE(1,COLUMNS(C7:L7))生成对应C到L的列序号(1到10);XLOOKUP的最后一个参数-1表示从右往左查找,找到第一个非空单元格对应的序号;总列数减去该序号就是目标月数。

3. 用INDEX+MATCH实现反向查找

如果想结合你尝试过的INDEX和MATCH,可以用这个数组公式(旧版本Excel需要按Ctrl+Shift+Enter确认输入,365版本直接回车即可):

=COLUMNS(C7:L7)-MATCH(TRUE,INDEX(NOT(ISBLANK(C7:L7)),0,COLUMNS(C7:L7):1),0)
  • 逻辑:INDEX(NOT(ISBLANK(C7:L7)),0,COLUMNS(C7:L7):1)把C7:L7的非空判断结果反转成从L到C的顺序;MATCH找到反转后第一个TRUE的位置,总列数减去这个位置就是空白月数。

内容的提问来源于stack exchange,提问作者Katie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:37:51