Power Query条件调用函数实现同表导入不同格式数据的方法
最简实现方案
你不需要找独立的条件调用函数功能,直接通过自定义列的if判断逻辑就能实现,操作步骤如下:
- 先按常规方式从文件夹导入所有待处理的Excel文件,生成包含文件名、文件二进制内容等字段的文件列表表,确保你的函数A、函数B都已经提前定义完成,入参为Excel二进制文件。
- 新增自定义列,写入判断逻辑,公式参考如下:
if Text.Contains([Name], "年度历史库") then 函数B([Content]) else 函数A([Content])
你可以根据实际的区分规则调整判断条件:如果两类文件通过文件名特征区分,就用文件名判断;如果通过内部结构区分,可以先加一步逻辑读取文件的表头/Sheet列表再判断,比如
if Table.RowCount(Excel.Workbook([Content]){0}[Data]) > 1000 then 函数B([Content]) else 函数A([Content])这类逻辑都支持。
- 最后展开自定义列返回的表格内容,两类文件转换后的结果就会自动合并到同一张表中。
如果需要排查错误,可以先单独加一个辅助列输出判断结果,确认所有文件分类正确后再调用转换函数,减少报错排查成本。
内容的提问来源于stack exchange,提问作者Malcoolm
相关产品推荐
相关产品推荐

