我有一个包含文本的列,例如
column1
3
4
5
6
7
8
9.2
10
11
txt1
txt2
我想创建一个新的column2,它给出了以下输出。
column1 column2
3 3-6
4 3-6
5 3-6
6 3-6
7 7-10
8 7-10
9.2 7-10
10 7-10
11 11
txt1 txt1
txt2 txt2
我已尝试使用以下Dax函数,但我没有让它工作,因为它只返回“值如果为false”。我在Column1上的格式是文本。
column2 = IF(CONTAINS(Table1;Table1[column1];"3";Table1[Column1];"4");"3-8";"9.5-10").........
我已经尝试过FIND功能,但没有运气。 有人有什么提示吗?如果有人知道如何在Excel中执行此操作,也许可以通过这种方式解决这个问题?:D / d
答案 0 :(得分:1)
我不确定你的存储值的逻辑究竟是什么,但是你应该能够按照这些方式写出一些内容:
Column2 = SWITCH(TRUE(),
ISERROR(VALUE(Table1[Column1])), Table1[Column1],
VALUE(Table1[Column1]) >= 3 && VALUE(Table1[Column1]) <= 6, "3-6",
VALUE(Table1[Column1]) >= 7 && VALUE(Table1[Column1]) <= 10, "7-10",
Table1[Column1])
这个SWITCH
函数将返回第一个求值为true的东西,否则返回最后一个参数。第一对检查值是否可以转换为数字,如果不能返回原始值。接下来的两对检查数字是否在某个范围内,并返回这些范围的指定字符串。
这是一个更详细地解释SWITCH(TRUE()...)
构造的链接:
https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/