在同一个表中的另一列中计算if或match

时间:2018-05-18 15:43:18

标签: excel powerquery m

我在表格中有MapImageLayerColumn A

Table

我想创建一个计算列,如果在Column B中找到Column A中的字母则显示“是”,如果不是这样,则创建“否”(在电源查询中也是如此) M)。

我已经阅读了很多关于计算函数,过滤表格,搜索函数等的内容(甚至将表格与自身合并,但我的文件已经非常繁重,我不确定解决方案是否适应)。但是当我尝试所有这些解决方案并尝试使它们适应我的情况时,我得到错误或循环引用。

1 个答案:

答案 0 :(得分:1)

在查询编辑器中构建查询时,它将按步骤完成。为了避免使用循环引用,您需要确保创建自定义列的步骤引用上一步而不是查询名称。

例如,如果我的查询名为Table01,我尝试编写此自定义列公式

 = if List.Contains(Table01[Column B], [Column A]) then "Yes" else "No"

然后我会得到循环引用错误,因为查询名称是指最后一步的结果。

但是,如果我之前的步骤名为#"Changed Type",那么我可以改为编写

 = if List.Contains(#"Changed Type"[Column B], [Column A]) then "Yes" else "No"

它运作得很好。

Screenshot