【问题标题】:INDEX and MATCH with skipping a few rowsINDEX 和 MATCH 跳过几行
【发布时间】:2016-01-04 14:05:30
【问题描述】:

我有 E6:E52 的范围,但我想跳过几行并参考 E58:E64 的范围,这可能吗?

=OFFSET(INDEX(E6:E52,MATCH(MAX(E6:E52),E6:E52,0)),0,-2)

【问题讨论】:

  • 尝试=INDEX(C6:C52,MATCH(MAX(E6:E52),E6:E52,0)) 而不是OFFSET function。我不清楚您所说的“跳过几行”是什么意思。
  • E6:E52 是一个连续范围,然后我试图打破连续范围并参考 E58:E64。这个公式的目的是找到最大值和偏移量 2。
  • 查询范围内的条目是否为空?还是它们都包含一个数字?

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


【解决方案1】:

您可以使用AGGREGATE¹ function 强制某些行进入错误状态。使用 Ignore Errors 选项参数(例如 6)应该授予不连续的单元格范围,MAX function 可以在其参数中包含不连续的单元格范围。

=INDEX(C6:C64, AGGREGATE(14, 6, ROW(1:59)/(((ROW(1:59)<48)+(ROW(1:59)>52))*(E6:E64=MAX(E6:E52, E58:E64))), 1))

如果您打算将其复制到新位置,则必须应用一些绝对单元格引用标记(例如 $C$6:$C$64)。

      

出于所有意图和目的,您正在为INDEX function 创建与非连续单元格的 VBA Union 等效。


¹ AGGREGATE function 是随 Excel 2010 引入的。它在早期版本中不可用。

【讨论】:

  • =OFFSET(INDEX(E6:E96,MATCH(AGGREGATE(4,6,E7:E20,E28:E32,E37:E44,E49:E71,E77:E95),E6:E96, 0)),0,-2)
【解决方案2】:

不确定这是否是您要找的,但这里有

=INDEX((P6:P13)&(R6:R13),MATCH(MAX(P6:R13),P6:P13,0))

我有 P6:P13 512 521 522 544 列和 R6:R13 512 521 522 533 列

这给出了结果 544533

【讨论】:

  • 如果您可以将您的 excel 表发给我,以便更好地了解您想要达到的目标,那么我很乐意看看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
相关资源
最近更新 更多