编按: 再说两个INDEX函数的神奇用法。第一个用法是偷懒用法,只用两个参数进行引用,让你的公式更简单;第二个用法是多区域引用,类似CHOOSE函数。 我们曾介绍过INDEX函数的一个神奇用法,返回引用单元格而非数据,如SUM(D3:INDEX(D3:D24,G3))。今天再介绍两个INDEX函数的神奇用法。 公式只用了两个参数。参数1,2:2表示引用第2行;参数2,5是需要返回的列数。如果是常规写法,会用3个参数,=INDEX(2:2,,5)。公式=INDEX(14:14,LEFT(B18,1)*2),比其他方法都简洁。如果引用多个区域,则有4个参数。第4参数用于指定要返回值的引用区域。=INDEX((区域1,区域2,区域3,…),行数,[列数],[区域数])譬如从下方3个月的数据区域中取第2个区域的第5行第2列。公式=INDEX((A24:B29,D24:E29,G24:H29),5,2,2)第一参数用括号引用了3个月份的数据区域;第4参数“2”指定要具体引用哪个区域。可以如同CHOOSE函数那样搭配VLOOKUP函数实现多区域动态查询,譬如下方根据姓名和月份在5个区域中查找成绩。=VLOOKUP(B44,INDEX((A37:B42,C37:D42,E37:F42,G37:H42,I37:J42),,,LEFT(B45,1)),2,)①INDEX((A37:B42,C37:D42,E37:F42,G37:H42,I37:J42),,,LEFT(B45,1)),第1参数是5个月各自的数据区域,第2和第3参数都是空(0),表示引用整个区域,第4参数指定要用第几个区域的数据。②VLOOKUP(B44, ①,2,),用VLOOKUP精确查找返回第2列的数据。当然此处有多种解法,如CHOOSE+VLOOKUP,公式: =VLOOKUP(B44,INDEX((A37:B42,C37:D42,E37:F42,G37:H42,I37:J42),,,LEFT(B45,1)),2,);再如条件相乘,公式=MAX(IFERROR((A37:I42=B44)*(A35:I35=B45)*B37:J42,0))更简洁。 最后,分享柳之老师刚开发的《Excel人事管理模板课程》,预览如下:
|