我们来聊聊Excel中函数应用的一个经典搭配——INDEX和MATCH,助力数据查询的效率提升与灵活性。 我们所要看的案例如下:在Customer Quote工作表中,要根据“Category”和“Customer Category”来确定“Discount”。 关于“Discount”的数据,我们可以在Discount Matrix工作表中获取,所以接下来我们现在此工作表中来演示一下INDEX和MATCH的搭配。 在Discount Matrix中,我们可以看到“Discount Category”与“Customer Category”组合时的“Discount”数据。 例如,“Disc Cat”为C,“Cust Cat”为Gold时,“Discount”为9.50%。 我们可以通过VLOOKUP函数来查询并获取数据,但在此案例中,我们需要同时查询两个数据,那VLOOKUP函数就不是一个好的选择;当然,我们可以考虑使用HLOOKUP与VLOOKUP函数的组合来同时查找“Discount Category”与“Customer Category”的数据,再得到对应的“Discount”数据,但是这样的话则显得比较繁琐,计算的效率也不高。 因此我们考虑使用INDEX和MATCH的组合,在E11单元格中输入INDEX函数,其第一个参数为array,即所要查询的数据所在区域,这里我们选择C5至F8单元格区域(因该区域已创建为名称“Discounts”,故选择该区域时会直接以名称代替,在之后的运算中我们则可以直接使用该名称)。 第二个参数为row_num,即行数,C在“Discount Category”的第三行,所以输入3。 第三个参数为[column_num]可选参数,即列数,当只有一列时,可省略,而我们现在有四列,而Gold在“Customer Category”的第三列,所以也输入3。 在INDEX函数中,第二个和第三个参数需要自动化地进行查询,而非需要我们自己来通过观察输入对应的数字,这里就需要用到MATCH函数。 分别将INDEX函数中的第二和第三个参数使用MATCH函数来查询并返回相应的数字结果。 按Enter键后,INDEX函数即可返回对应的“Discount”值9.50%。 当我们改变“Cust Cat”为Silver时,“Discount”也会相应地变化。 回到Customer Quote工作表中,我们先在I4单元格中用MATCH函数计算出I3单元格中的“Customer Category”所在的位置是几。 在H6单元格中使用INDEX函数来获得相应的“Discount”数据。 按Enter键后,“Discount”列的数据即可快速完成填充。 如果我们修改I3单元格中的“Customer Category”为Silver,所有相关的数据均会自动重算。 INDEX与MATCH函数的组合用于查询并获取数据的优势如下(相较于VLOOKUP函数来说): 1. INDEX与MATCH函数的组合可同时对行和列进行查询; 2. VLOOKUP函数的查询数据所在列必须所要返回的值的左侧,而INDEX与MATCH函数的组合则不受此限制。 3. INDEX与MATCH函数的组合时,MATCH函数可从INDEX函数中分离出来,即单独计算MATCH函数返回的结果,INDEX函数中则引用该结果即可。 优势虽有,然相比之下也是更加复杂一些的,因此我们需要多多地进行练习,熟悉INDEX与MATCH函数这一经典搭配。 #Excel函数公式# |
|