arrays - 根据几个条件从数据数组返回值

标签 arrays excel lookup data-processing

我有一个包含 3 列的数据表(为清楚起见,外观被简化,但保留了排列和数据格式,第一列 ADate 格式化为我的区域设置,但它不是文本):

Date        Module  Value
27.01.2013  xxxxx   90
27.01.2013  ttttt   100
29.01.2013  aaaaa   110
31.01.2013  aaaaa   50
31.01.2013  mmmmm   200
31.01.2013  ttttt   80
03.02.2013  ttttt   140
04.02.2013  aaaaa   120
07.02.2013  mmmmm   150
07.02.2013  ttttt   90
07.02.2013  aaaaa   190
08.02.2013  aaaaa   210
08.02.2013  aaaaa   90
08.02.2013  aaaaa   170
08.02.2013  ttttt   90
08.02.2013  ttttt   110
08.02.2013  mmmmm   130
09.02.2013  mmmmm   90
09.02.2013  aaaaa   200

该列表可能很长并且会定期更新。我需要实现的是:在同一张纸上,我将以下计算单元格放置在 E 列的起始位置(即数据和计算区域之间有一个空白列 D):
MAX last week   Date        Value
aaaaa           09.02.2013  200
mmmmm           07.02.2013  150
ttttt           03.02.2013  140
xxxxx           <empty>     No change

基本上我需要从A:C中的数据数组中找出来以下:
  • 对于 E 中的值列表(对应于 B 中的模块名称)日期和对应的值是 同一模块的最大值 ,但对于 上周从今天开始应该退回。
  • 如果上周没有此模块的记录 - 日期应为空 , 和 “没有变化”字符串应该是值(如 xxxxx 来自上面的示例,与初始数组相关并假设今天是 2 月 9 日)。

  • 至于#2,我最终得到以下结果:
  • 对于 Date : =IF(SUMPRODUCT(--(A:A>TODAY()-7),--(A:A="xxxxx"))=0,"")
  • 对于 Value : =IF(F5="","No change") (我在这里查看左侧对应的日期)

  • 至于#1 - 我被困住了,这就是我需要指导或建议的地方。我用 MATCH 尝试了不同的东西, VLOOKUP和类似的,但甚至没有接近成功:我要么有错误,要么没有相关的结果。

    如果这很重要 - 日期总是被排序,最近的日期在列表的末尾,即新记录被添加到底部。对于同一模块,同一天可能有多个记录。如果示例或解释不清楚 - 请在评论中回复,我会添加更多详细信息。谢谢!

    最佳答案

    在 G2 中尝试这样的数组公式求值
    =IF(COUNTIFS(A$2:A$100,">"&TODAY()-7,B$2:B$100,E2),MAX(IF(A$2:A$100>TODAY()-7,IF(B$2:B$100=E2,C$2:C$100))),"No change")
    CTRL+SHIFT+ENTER 确认并抄下来

    然后是 F2 中的日期
    =IF(G2="No change","",MIN(IF(A$2:A$100>TODAY()-7,IF(B$2:B$100=E2,IF(C$2:C$100=G2,A$2:A$100)))))
    如果该模块在过去 7 天内有多个日期出现最大值,这将为您提供最早的日期(将 MIN 更改为 MAX 以获得最新的)

    here用于工作 sample

    关于arrays - 根据几个条件从数据数组返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788444/

    相关文章:

    arrays - UIColor 下标数组问题

    vba - vba中的workbooks.add系统地打开两个工作簿

    mongodb - $lookup 当外部字段是数组时

    c++ - 在数据集中查找整数的最快方法

    php - 更新 json 数组的项

    javascript - 如何在javascript中将数组转换为逗号分隔的字符串

    python - 如何使用 PyXll 将 Excel 单元格添加到 Python 字典

    python - 用于收集 numpy 数组的高效查找表

    php - 在具有分层值的数组或 MySQL 条目中搜索

    vba - 合并第 1 行中的每 3 行