EXCEL高阶用法:power query、VBA、还有python的区别是什么?

已经熟练掌握许多EXCEL公式,希望可以进行进阶学习,搞不清楚三者的概念,烦请哪位大佬帮我捋一下,谢谢啦
关注者
109
被浏览
123,570
登录后你可以
不限量看优质回答 私信答主深度交流 精彩内容一键收藏

Power Query

其实不是 Excel 独有的,在其他地方比如 Power BI 上也有可使用。

你可以把它看作是一个高阶版的 “导入数据”功能。

另外,它和 EXCEL 公式没有任何继承关系。换句话说,Excel 公式再溜,你一上手也不可能玩得转 Power Query M 语言里的公式;反之亦然,你可以很精通 Power Query M 语言,但是对 Excel 公式一无所知。

这两个其实在一定程度上可以做到同一件事情。但是为什么说 Power Query M 语言比 Excel 的公式好呢?我们可以看我自己处理的一个例子。这个数据处理之前是用公式做的:

=IF(TRUNC(C1442)<=NOTES!$C$3,CONCATENATE(YEAR(C1442),"-W",WEEKNUM(C1442)),"")

做得稀碎。首先不告诉你数据,比如哪些 C 啊 D 啊 E 啊是什么含义,你一眼看上去知道这个公式是干啥的吗?

然后我把这一部分做成了 Power Query 的一个函数:

let
    Source = (x as datetime) as text =>
        WeekEnd = Date.EndOfWeek(x),
        targetDate = DateTime.Date(WeekEnd),
        targetYear = Date.Year(targetDate),
        YearText = Number.ToText(targetYear),
        targetWeek = Date.WeekOfYear(WeekEnd),
        WeekText = Number.ToText(targetWeek, "0#"),
        Output = 
        if x > parmAggreDay then 
            Text.Combine({
                YearText,
                "-W",
                WeekText
            Text.Combine({
                "Before ",
                parmAggreWeek