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

为FILTER和MAXIFS添加多条件 筛选无近期订单的账户

问题:筛选Mark负责的超60天无订单账户的公式错误分析与解决

我需要一个能返回无近期订单账户的公式,此前的需求已经解决,但现在要添加条件,只返回员工Mark负责的相关结果,多次尝试都失败了。

我的尝试公式:
第一个:

=FILTER(UNIQUE(OrderAmounts[[Account ]]),Today()-MAXIFS(OrderAmounts[Invoice Date],OrderAmounts[[Account ]],UNIQUE(OrderAmounts[[Account ]]),OrderAmounts[Name]="Mark")>60,"Oops")

第二个:

=FILTER(UNIQUE(OrderAmounts[[Account ]]),Today()-MAXIFS(OrderAmounts[Invoice Date],OrderAmounts[[Account ]],UNIQUE(OrderAmounts[[Account ]]))>60*(UNIQUE(OrderAmounts[[Name ]])="Mark"),"Oops")

相关数据表格:

账户发票日期员工姓名
ACC11181/7/21Mark
ACC11183/30/21Mark
ACC11185/13/21Mark
ACC11186/10/21Mark
ACC11186/17/21Mark
ACC11186/18/21Mark
ACC11186/22/21Mark
ACC11186/29/21Mark
ACC11187/9/21Mark
ACC11187/22/21Mark
ACC11188/27/21Mark
ACC11189/17/21Mark
ACC11189/21/21Mark
ACC111810/26/21Mark
ACC111811/12/21Mark
ACC111811/30/21Mark
ACC11181/27/22Mark
ACC11182/8/22Mark
ACC11182/8/22Mark
ACC11183/8/22Mark
ACC11183/22/22Mark
ACC11183/31/22Mark
ACC11188/19/22Mark
ACC42473/31/21Jen
ACC42474/29/21Jen
ACC42474/30/21Jen
ACC42475/12/21Jen
ACC42475/26/21Jen
ACC42476/9/21Jen
ACC42479/15/21Jen
ACC46286/9/22Dave
ACC46286/24/22Dave
ACC46287/14/22Dave
ACC46287/28/22Dave
ACC46287/29/22Dave
ACC11294/1/22Mark
ACC11294/1/22Mark
ACC11294/15/22Mark
ACC11295/17/22Mark
ACC42463/31/21Jen
ACC44739/29/21Mark
ACC11405/26/22Dave
ACC11406/2/22Dave
ACC11406/16/22Dave
ACC11406/30/22Dave
ACC11407/7/22Dave
ACC11408/2/22Dave
ACC11408/4/22Dave
ACC11408/11/22Dave
ACC11408/16/22Dave
ACC11408/19/22Dave
ACC11408/19/22Dave
ACC11408/25/22Dave
ACC41629/7/21Jen
ACC41629/22/21Jen
ACC41629/29/21Jen
ACC416210/6/21Jen
ACC416211/12/21Jen
ACC416211/19/21Jen
ACC416212/2/21Jen
ACC41621/14/22Jen
ACC41622/25/22Jen
ACC41623/3/22Jen
ACC41623/31/22Jen
ACC41624/4/22Jen
ACC41626/6/22Jen
ACC41625/16/22Jen

错误原因分析

  • 第一个公式:在MAXIFS中加入OrderAmounts[Name]="Mark"条件后,对于没有Mark相关记录的账户,MAXIFS会返回错误值,导致FILTER的判断条件失效,无法完成筛选。
  • 第二个公式:60*(UNIQUE(OrderAmounts[[Name ]])="Mark")的逻辑错误,一是数组长度和唯一账户数组不匹配,二是这种乘法无法正确关联账户与对应员工,导致筛选条件混乱。

正确公式

方法1:分步处理(逻辑清晰)

=LET(
    MarkAccounts, UNIQUE(FILTER(OrderAmounts[Account], OrderAmounts[员工姓名]="Mark")),
    LastOrderDates, MAXIFS(OrderAmounts[Invoice Date], OrderAmounts[Account], MarkAccounts),
    FILTER(MarkAccounts, TODAY()-LastOrderDates>60, "Oops")
)

用LET函数拆分步骤:先提取所有Mark负责的唯一账户,再计算每个账户的最晚订单日期,最后筛选出超60天无订单的账户,避免错误值干扰。

方法2:简化直接筛选(需确保Mark账户有记录)

=FILTER(UNIQUE(OrderAmounts[Account]),TODAY()-MAXIFS(OrderAmounts[Invoice Date],OrderAmounts[Account],UNIQUE(OrderAmounts[Account]),OrderAmounts[员工姓名]="Mark")>60,"Oops")

如果存在Mark无记录的账户,可加入IFERROR处理错误值:

=FILTER(UNIQUE(OrderAmounts[Account]),TODAY()-IFERROR(MAXIFS(OrderAmounts[Invoice Date],OrderAmounts[Account],UNIQUE(OrderAmounts[Account]),OrderAmounts[员工姓名]="Mark"),0)>60,"Oops")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:01:01