excel 使用MIN函数和2个匹配/索引函数

2ul0zpep  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(130)

使用此INDEX/MATCH/MAX函数获得下表的正确输出

  1. =INDEX($B$2:$B$10000,MATCH(MAX(INDEX(($A$2:$A$10000=$F1)*$D$2:$D$10000,)),INDEX(($A$2:$A$10000=$F1)*$E$2:$D$10000,),0))

字符串
x1c 0d1x的数据
1998年11月4日的输出为11:30
问题是:当我将公式从Col D(高)更改为Col E(低)并使用MIN而不是MAX时,我得到了一个错误的结果:10:00而不是15:00
从E列的MIN中得到每个日期的正确时间的正确公式是什么?
谢谢你,
约翰

643ylb08

643ylb081#

尝试使用AGGREGATE()函数:


的数据
·单元格H2中使用的公式

  1. =AGGREGATE(15,6,$B:$B/($E:$E=AGGREGATE(15,6,$E:$E/(G2=$A:$A),1)),1)

字符串
&,

·单元格I2中使用的公式

  1. =AGGREGATE(14,6,$B:$B/($D:$D=AGGREGATE(14,6,$D:$D/(G2=$A:$A),1)),1)

**注意:**使用Structured Reference aka Tables会更好,建议不要使用整个范围和对空白行进行不必要的迭代,也就是说转换您的源数据并使用以下方式:



·对于最小值

  1. =AGGREGATE(15,6,High_Low_Table[Time]/(High_Low_Table[Low]=
  2. AGGREGATE(15,6,High_Low_Table[Low]/(G2=High_Low_Table[Date]),1)),1)


·对于马克斯

  1. =AGGREGATE(14,6,High_Low_Table[Time]/(High_Low_Table[High]=
  2. AGGREGATE(14,6,High_Low_Table[High]/(G2=High_Low_Table[Date]),1)),1)


根据您的西装,单元格引用和范围相应地更改源表名称。

展开查看全部

相关问题