【问题标题】:SharePoint 2010 calculated list columnSharePoint 2010 计算列表列
【发布时间】:2017-03-02 12:20:13
【问题描述】:

=IF([Month (Calculated)]="1", "January","No date")
=IF([Month (Calculated)]="2", "February","No date")
=IF([Month (Calculated)]="3", "March","No date")
=IF([Month (Calculated)]="4", "April","No date")
=IF([Month (Calculated)]="5", "May","No date")
=IF([Month (Calculated)]="6", "June","No date")
=IF([Month (Calculated)]="7", "July","No date")
=IF([Month (Calculated)]="8", "August","No date")
=IF([Month (Calculated)]="9", "September","No date")
=IF([Month (Calculated)]="10", "October","No date")
=IF([Month (Calculated)]="11", "November","No date")
=IF([Month (Calculated)]="12", "December","No date")

大家好, 请帮忙,我有一个计算列,它从包含 1、2、3、4 等数字的列中读取数据。我希望计算列检查当前数字,然后分配一个字符串。

任何人都可以帮助解决这个嵌套的 if 吗?谢谢

【问题讨论】:

    标签: sharepoint


    【解决方案1】:

    您只需将条件嵌套在每个 IF() 块的“false”部分中。

    举个简单的例子,想象一下如果你只有两个月的时间。从概念上讲,您的公式可能如下所示:

    IF([Month (Calculated)]="11", // if the column equals 11...
        "November",  // then display "November"
        IF([Month (Calculated)]="12",  // otherwise... if the column equals 12
            "December", // then display "December"
            "No date" // otherwise... display "No date"
         )
    )
    

    转换为以下单行公式:

    IF([Month (Calculated)]="11","November",IF([Month (Calculated)]="12", "December","No date"))
    

    现在只需将这种方法扩展到所有 12 个月,您就会得到这样的公式:

    IF([Month (Calculated)]="1", "January", IF([Month (Calculated)]="2", "February", IF([Month (Calculated)]="3", "March", IF([Month (Calculated)]="4", "April", IF([Month (Calculated)]="5", "May", IF([Month (Calculated)]="6", "June", IF([Month (Calculated)]="7", "July", IF([Month (Calculated)]="8", "August", IF([Month (Calculated)]="9", "September", IF([Month (Calculated)]="10", "October", IF([Month (Calculated)]="11", "November", IF([Month (Calculated)]="12", "December", "No date"))))))))))))
    

    很遗憾,该公式超出了计算列公式的 255 个字符限制。要绕过该限制,您可以使用额外的计算列将公式分解为更小的部分。

    你可以如何打破它的一个例子如下:

    计算的第 1 列:

    IF([Month (Calculated)]="7","July",IF([Month (Calculated)]="8","August",IF([Month (Calculated)]="9","September",IF([Month (Calculated)]="10","October",IF([Month (Calculated)]="11","November",IF([Month (Calculated)]="12", "December",[Calculated Column 2]))))))
    

    (注意最后对[Calculated Column 2]的引用。)

    计算的第 2 列:

    IF([Month (Calculated)]="1","January",IF([Month (Calculated)]="2","February",IF([Month (Calculated)]="3","March",IF([Month (Calculated)]="4","April",IF([Month (Calculated)]="5","May","No date")))))
    

    【讨论】:

      【解决方案2】:

      跟随 Thriggle,

      对于中断方法,使用显示结果的第三列

      计算的第 3 列

      If([Calculated Column 1]="No date",[Calculated Column 2],[Calculated Column 1])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多