我有一个列,它包含文本,例如,
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函数,但我没有让它工作,因为它只返回“值如果是假的”。我在Column1上的格式是文本。
 column2  = IF(CONTAINS(Table1;Table1[column1];"3";Table1[Column1];"4");"3-8";"9.5-10").........我已经尝试了查找功能,也没有运气。有人有什么建议吗?如果现在有人正在Excel中做这件事,也许可以这样做?:d /D。
发布于 2018-03-08 16:14:50
我不太清楚你对价值的逻辑是什么,但是你应该能够写一些这样的东西:
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/
https://stackoverflow.com/questions/49168713
复制相似问题