如何在电源查询中执行COALESCE?
我有一个表有四分之一的价值,我需要添加一个新的列,最后一个季度给我最后一个非空值。 例如
ID | Project | Q1 | Q2 | Q3 | Q4 | Current Quarter Value 1 | bal bal | 23 | 32 | 34 | null | 34 2 | cuz cuz | 43 | 56 | null | null | 56
将自定义列添加到表格时可以使用几个公式(可从“变换”function区选项卡访问)。 这里有一个:
if [Q4] <> null then [Q4] else if [Q3] <> null then [Q3] else if [Q2] <> null then [Q2] else [Q1]
如果您不想编写如此多的if语句,则可以将列添加到列表中并过滤掉空值:
List.Last(List.Select({[Q1], [Q2], [Q3], [Q4]}, each _ <> null))
find一个非空的单行范围的最右边的值,你有两个方法
-
如果您知道中间没有空白值,则计算所有非空白值,并使用此值从范围原点偏移
=OFFSET(C2,0,COUNTA(C2:F2)-1)
-
如果可能存在散布的空值,则在修改的给定范围内使用查找来查找所有非空白,并再次使用给定范围作为结果范围
=LOOKUP(2,1/(C2:F2<>""),C2:F2)