解决思路:
- 因为是F2与G2两列数据共同作为查找条件,在绿色单元格部分进行查找,因此,考虑使用F2&G2,也就是游泳班2个月作为查询条件。
- 由于查询结果为D列,中间C列的值为无用数据。因此,在使用vlookup进行数据取出时需要注意。
解答公式为:
=VLOOKUP(F2&G2,IF({1,0},$A$2:$A$8&$B$2:$B$8,$D$2:$D$8),2,0)
下面对该答案进行解释:
- VLOOKUP 该函数意思为在第二个参数(IF({1,0},$A$2:$A$8&$B$2:$B$8,$D$2:$D$8))的范围内查找第一个参数(F2&G2)所匹配的数据,然后将匹配单元格的后面一列的值取出。
- 关键部分为VLOOUP的第二个参数,即
(IF({1,0},$A$2:$A$8&$B$2:$B$8,$D$2:$D$8))
先将该部分计算完成后的结果展示出来
for_array.png
其中红色底线部分,为内存数组,等价于
image.png
至于IF部分为何展开成为了这样一个等价数组,以后再解释。目前可根据本例公式进行类比即可。
注意:
当把解答公式贴在H2单元格之后,并不是!并不是!并不是直接使用回车,而是要使用 Shift + Ctrl+ Enter,要使用 Shift + Ctrl+ Enter,要使用 Shift + Ctrl+ Enter.这样才会展开成数组,可以看到上面for_arrya.png中的公式栏与解答公式有差别,前后自动添加了{}
网友评论