适合场景1)跨视图查询数据,即查询条件和查询结果来源于不同数据源或者视图; 2)查询条件包含静态文本。 函数说明Excel里常见的Lookup查询函数有 LOOKUP/VLOOKUP/HLOOKUP/XLOOKUP,适合场景各有不同,一般建议使用XLOOKUP,兼容单条件、多条件,横向、纵向查询,且支持把查询无数据显示的#N/A错误值替换为希望的值;如果使用其他Lookup函数,建议外面嵌套IFERROR函数来处理错误值。 =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
使用思路Lookup类函数一般至少需要用到3个参数,分别是「搜索值」、「搜索区域」、「结果返回区域」。其中「搜索值」一般指定当前模板上的单元格,但是「搜索区域」、「结果返回区域」来源于视图,需要先把视图里的数据放入模板内才能引用。 使用步骤1. 创建查询表在模板里新建一个Sheet,把视图里需要用于查询的字段拖入表格区域, 多维度时设置动态属性里分组方式为“归类重复”(对应属性G=Repeat, 确保扩展后所有单元格不合并); 2. 使用XLOOKUP函数2.1. 5.9~6.6版本实现方式:1)检查模板里用作「搜索值」的单元格扩展后是否有合并单元格的情况,有的话在旁边插入行或列,使用相同视图字段并设置分组方式为“归类重复”; 存在合并单元格 🔽 插入行列,设置动态属性 🔽 预览效果 🔽 2)手动输入需要的Lookup函数;由于行和列号会跟随扩展偏移,公式里要注意是绝对引用还是相对引用。 例如大区所在A4,纵向扩展时列不变、行号会变,公式里写作$A4;月份所在的D1,横向扩展时,列变行不变,写作D$1;对应的查询范围(例如Sheet2的A列)会随着月份横向扩展一起跟着偏移,需要写作Sheet2!$A:$A。多条件查询函数写法参考下图。 3)把该单元设置为模板单元格,并指定父格,从而实现跟随表头扩展; 2.2. 7.0版本实现方式:直接在报表里目标单元格写入xlookup函数,然后转换为模板单元格,设置父格。即使不使用$符号,格间计算也可以准确定位单元格并计算。 3. 预览数据无误后,隐藏多余的Sheet标签页和行列即可。 |