Return 字符串,如果列中存在值

Return string if values exists in column

我有一列包含文本,例如,

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 函数,但我没有让它工作,因为它只有 returns "value if false"。我在 Column1 上的格式是文本。

 column2  = IF(CONTAINS(Table1;Table1[column1];"3";Table1[Column1];"4");"3-8";"9.5-10").........

我也尝试过使用 FIND 函数,但没有成功。 有人有任何提示吗?如果现在有人知道如何在 Excel 中执行此操作,也许可以那样解决?:D /D

我不确定您对分桶值的确切逻辑是什么,但您应该能够按照以下几行写一些东西:

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 函数将 return 第一个计算结果为 true 的东西,否则,它 return 是最后一个参数。第一对检查值是否可以转换为数字,如果不能转换为 returns 原始值。接下来的两对检查数字是否在特定范围内,并且 returns 为这些范围指定了字符串。


这里有一个 link 更详细地解释了 SWITCH(TRUE()...) 构造:

https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/