excel 对Power Query创建的自定义列的每一行应用转换

sbdsn5lh  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(186)

问题总结:

我需要根据引用查询中单元格的公式以及来自不同工作表的值填充查询自定义列的每一行。最佳方法是什么?

原始帖子:

这个问题困扰了我好几天,我还是没弄明白。我正在做一个任务管理工作簿,它根据你提交行动项的时间来对数据进行排序。**它试图返回一个条目属于我的计划的哪一周。**也就是说,如果从开始到现在已经过了23天,那么一个条目属于第三周。如果过了76天,然后是第7周。这很重要,因为我在筛选报表宏时使用结果。
This is the query table I need to add the calculation to
最后一列是自定义列,应使用以下单元格计算这些值:This is the source of the other info needed to calculate the week number of the program, with references shown
如果只有一行,我采用的方法可以正常工作,但如果自定义列中有多个新行,则指定的单元格在重新加载时返回#VALUE!。我认为这是因为我引用的单元格是一个公式,其中的变量具有多个值?我对PQ比较陌生,所以请耐心等待。
我尝试执行的转换/命名单元格中的公式要应用于新列的每一行:

=IFS(AND($B$2<WEEKNUM(New_Items_to_Save[Start Date]),WEEKNUM(New_Items_to_Save[Start Date])<54),$G$2-($D$2-(-53+WEEKNUM(New_Items_to_Save[Start Date]))),WEEKNUM(New_Items_to_Save[Start Date])<$B$2,$G$2-($D$2+WEEKNUM(New_Items_to_Save[Start Date])))

使用上图,求解为:= IFS(AND(33〈[周数开始日期],[开始日期]〈54),47-(26-(-53 +[周数开始日期])),[周数开始日期]〈33,47-(26 +[周数开始日期]))
与:如果日期在当前年份范围内,即周数小于54,则执行此计算。
IFS:否则,如果周#在程序结束前,即2023年,则执行此计算。
如果我用一个特定的单元格替换"New_Items_to_Save [Start Date]",上面的公式肯定有效,所以我不认为是这样。也许我没有正确引用它?我不知道参数是如何工作的,也不知道如何创建新函数,但我可以很好地排除/google故障。
先谢谢你了!

elcex8rz

elcex8rz1#

我认为您应该结合使用PowerQuery内置日期函数(请参见here)和一些PowerQuery条件流程(请参见here)。
在你关于这个主题的另一个问题中,我已经给出了一些关于如何解决这个问题的广泛的例子;请看这里。

相关问题