引用: 九月蛳 发表于 2016-9-22 08:34 附件已更新 以B6公式为例,=MAX(MMULT(INDIRECT(TEXT(MATCH(2,COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5),),'00')&'!a9:b39'),{1;100000}))-B5*10^5 1.INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),此条通过INDIRECT函数和TEXT函数会获得从1-12月共12个工作表的B列,即{'01!B:B';'02!B:B';'03!B:B';'04!B:B';'05!B:B';'06!B:B';'07!B:B';'08!B:B';'09!B:B';'10!B:B';'11!B:B';'12!B:B'} 2.COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5) 通过条件计数函数COUNTIF得到B5这个最大值在哪一个工作表出现过 3.MATCH(2,COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5),) 通过MATCH函数得到最大值所在工作表是第几个表 4.INDIRECT(TEXT(MATCH(2,COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5),),'00')&'!a9:b39') 再次通过INDIRECT函数得到需要的工作表的A9:B39数据区域 5.MMULT(INDIRECT(TEXT(MATCH(2,COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5),),'00')&'!a9:b39'),{1;100000}) 通过MMULT函数得到数据区域中的数值乘上100000,最后得到数值加上日期,其中包括了最大值以及它的日期 6.MAX(MMULT(INDIRECT(TEXT(MATCH(2,COUNTIF(INDIRECT(TEXT({1;2;3;4;5;6;7;8;9;10;11;12},'00')&'!B:B'),B5),),'00')&'!a9:b39'),{1;100000})) 此条通过MAX提取出最大值和它的日期 7.-B5*10^5 这个得到最大值乘上100000,MAX()-B5*10^5 就得到了最大值对应的日期了 其它的原理相同,包括最小值日期,C列、D列都是这个原理,你自己琢磨一下 |
|