【问题标题】:Formula to report back text field based on multiple criteria and date range基于多个条件和日期范围报告文本字段的公式
【发布时间】:2018-02-27 05:12:36
【问题描述】:

我正在尝试创建一个公式,用于搜索单独的工作表并使用文本字符串报告正确的单元格。条件(如果过滤工作表)包含一个日期范围,<=DATE(YEAR(U$1),MONTH(U$1)+1,DAY(U$1))-31 基本上是从月底开始超过 30 天的任何日期,其中日期由用户在单元格 U$1 中设置并匹配文本字符串。我尝试了几次 INDEX MATCH 迭代,在数组中使用 MATCH,但不断收到 #N/A 错误。

逻辑是返回 G 列中相应单元格的内容,如果日期早于月底前 30 天(F 列中的日期),则按最旧到最新排序,并且 P 列必须包含文本字符串“文件未验证”

=COUNTIFS(Summary!P:P,"file not validated",Summary!F:F,"<="&DATE(YEAR(U$1),MONTH(U$1)+1,DAY(U$1))-31)

此公式返回符合条件的正确条目数,但是,我无法插入索引匹配以显示最旧的条目

【问题讨论】:

  • 使用DATE(YEAR(U$1), MONTH(U$1)+1, 0)EOMONTH(U$1, 0) 获取月末。
  • 请解释'日期由用户在单元格U$1中设置并匹配文本字符串'。我无法理解。
  • 例如,日期设置为01/09/2017,更改为Sep-17,并沿顶行拖动以使我能够报告当前月份。我所指的文本字符串是“文件未验证”。感谢您的所有帮助,我会尝试您的建议并回复!

标签: excel date indexing excel-formula excel-2010


【解决方案1】:

使用 INDEX/AGGREGATE 作为标准公式; AGGREGATE 以与 SUMPRODUCT 相同的方式提供没有 CSE 的数组处理。出于这个原因,请避免完整的列引用。

=iferror(index('Summary'!G:G,
  aggregate(15, 6, row(Summary!P$1:index(Summary!P:P, match("zzz", Summary!P:P)))/
 ((Summary!P$1:index(Summary!P:P, match("zzz", Summary!P:P))="file not validated")*
  (Summary!f$1:index(Summary!f:f, match("zzz", Summary!P:P))<=DATE(YEAR(U$1),MONTH(U$1)+1,DAY(U$1))-31))), 1)), "")

您在叙述中说您的月末工作正常,但看起来不应该。我提供了几个更好的公式来计算 cmets 的月末。你可能想调查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 2020-03-31
    • 2023-03-12
    • 2014-05-24
    • 1970-01-01
    • 2022-12-08
    相关资源
    最近更新 更多