答案1
检查这是否适合您。
在此示例中,样本数据位于单元格 A3:C15 中,解决方案位于 E3 中,而 G3 和 H3 中保存数字以供比较。
现在在 E3 中输入以下公式,然后按公式栏中的CTRL+ SHIFT+ENTER创建一个数组公式。该公式现在将自动括在花括号中,以表明它是一个数组公式。
=IF(MIN(IF(A3:A15-$G$3>=0,ROW(A3:A15)-ROW($B$2),9^99))<=MIN(IF(C3:C15-$H$3<=0,ROW(C3:C15)-ROW($B$2),9^99)),INDEX(A3:A15,MIN(IF(A3:A15-$G$3>=0,ROW(A3:A15)-ROW($B$2),9^99))),INDEX(C3:C15,MIN(IF(C3:C15-$H$3<=0,ROW(C3:C15)-ROW($B$2),9^99))))
为了使上面的示例能够正常工作,表格上方至少应有一行可用。在这种情况下,第 2 行可用,因为我们的数据从第 3 行开始。但是,如果您的数据从第 1 行开始,则公式-ROW($B$2)
中的部分不是必需的。
基本上,它分别对 A 、 C 和 G3 、 H3 列进行比较,如果条件满足,则返回行号,否则返回数组中的大数字。比较两者的最小值,并使用 INDEX 从 A 或 C 中适当获取较小的值。
请注意,如果您有大量数据,则数组公式可能会因处理而变慢。
如果您的区域设置指定分号 (;) 而不是逗号 (,) 作为列表分隔符,那么您必须在公式文本中用分号替换逗号。