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

如何修改ArrayFormula以获取Google Sheets中的最新评论?

问题分析

原公式通过VLOOKUP匹配ID&状态时,会返回首个匹配的历史评论,而非目标ID对应的最新评论——因为VLOOKUP默认返回区域内第一条符合条件的结果,无法自动识别“最新”记录。

公式修改方案

我们需要先对评论数据按时间降序排序(确保最新评论排在对应分组的最前),再进行匹配;或者直接按ID&状态分组提取最新评论,以下是两种可行的修改方案:

方案1:按时间排序后匹配(适用于单ID对应单状态的场景)

=ArrayFormula(IFERROR(FILTER(
  {
    VLOOKUP(FILTER(A2:A11,C2:C11=A21),A2:B11, {1,2},FALSE),
    VLOOKUP(FILTER(A2:A11&B21,C2:C11=A21),{I2:I10&J2:J10,J2:J10,L2:L10-K2:K10},{2,3},FALSE),
    // 替换原评论匹配逻辑:按时间降序排序后取最新评论
    VLOOKUP(FILTER(A2:A11,C2:C11=A21), SORT(E2:F11, 3, FALSE), 2, FALSE)
  },
  VLOOKUP(FILTER(A2:A11&B21,C2:C11=A21), {I2:I10&J2:J10,J2:J10},2,FALSE)=B21
)))

关键说明

  • SORT(E2:F11, 3, FALSE):假设评论的时间列是第3列(即E2:F11右侧的时间列),按时间降序排序,让最新评论排在对应ID的最上方;如果你的时间列不是第3列,把3改成实际的时间列序号即可。

方案2:按ID&状态分组取最新评论(适用于单ID对应多状态的场景)

如果同一个ID对应不同状态的多条评论,需要按ID&状态分组提取每组的最新评论,可使用SORTN实现:

=ArrayFormula(IFERROR(FILTER(
  {
    VLOOKUP(FILTER(A2:A11,C2:C11=A21),A2:B11, {1,2},FALSE),
    VLOOKUP(FILTER(A2:A11&B21,C2:C11=A21),{I2:I10&J2:J10,J2:J10,L2:L10-K2:K10},{2,3},FALSE),
    // 按ID&状态分组,保留每组最新的评论
    VLOOKUP(FILTER(A2:A11&B21,C2:C11=A21), 
            SORTN(SORT({E2:E11&J2:J10, F2:F11, G2:G11}, 3, FALSE), 9^9, 2, 1, TRUE), 
            2, FALSE)
  },
  VLOOKUP(FILTER(A2:A11&B21,C2:C11=A21), {I2:I10&J2:J10,J2:J10},2,FALSE)=B21
)))

关键说明

  • SORT({E2:E11&J2:J10, F2:F11, G2:G11}, 3, FALSE):将ID&状态、评论内容、评论时间组合后,按时间降序排序。
  • SORTN(..., 9^9, 2, 1, TRUE):对排序后的结果按ID&状态分组,仅保留每组的第一条记录(即该分组下的最新评论)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 23:20:11