【问题标题】:Adding numeric value based on tickbox in Sharepoint formula基于Sharepoint公式中的复选框添加数值
【发布时间】:2016-05-20 09:51:04
【问题描述】:

我正在尝试使用 Sharepoint 创建一个简单的休假计划应用程序。我已经完成了大部分工作,但我现在要回去做一些边缘案例,比如银行假期和半天。所以我添加了一个复选框列,如果勾选,我希望它从总值(半天)中扣除 0.5。全天有效的公式是:

=(DATEDIF(dateFrom,dateTo,"D"))-INT(DATEDIF(dateFrom,dateTo,"D")/7)*2-IF((WEEKDAY(dateTo)-WEEKDAY(dateFrom))<0,2,0)+1

所以我刚刚创建了另外两个名为 shalfday 和 ehalfday 的列。如果它们被打勾,则从总数中扣除 0.5(如果日期匹配并且两者都打勾,则仍然扣除 0.5)。

我试过玩一些类似的东西

-IF([shalfday],"0.5") 

今天早上谷歌搜索结果和其他变体不太友好,但它们返回#NAME?变量。

关于语法或我应该看什么的任何指针?

【问题讨论】:

  • 作为和建议:您的“Sharepoint 公式”实际上等于“Excel 公式”。因此,打开 Excel 并在那里模拟您的计算字段列。 “调试”公式会容易得多
  • 嗨,我在 Excel 中使用了相同的公式(只是没有绑定到复选框名称)。该公式实际上确实消除了我需要的 0.5。 Sharepoint 似乎很难知道我在尝试什么。我尝试将下面提供的代码 Nils 附加到上面的工作日公式的末尾,但仍然得到#NAME?参考.....我要做的就是说如果 checkbox=true 则结果为 -0.5。如何实现它似乎真的很迟钝。

标签: sharepoint sharepoint-2013 sharepoint-designer


【解决方案1】:

我建议:

-IF([shalfday],0.5,0) 

由于您尝试减法,因此您应该使用整数而不是字符串(我删除了引号)。

【讨论】:

    【解决方案2】:

    我最终以另一种方式做到了这一点。相反,我要求用户在另一个站点列中指定他们的休假天数,并在公式中使用了这个后缀。它还取消了验证检查,以确保用户不会在 1 天假中休两个半天。

    名为“总半天”的新网站栏设置为数字,默认值为 0; 附加到原始公式:

    -([Total Half Days]/2)+1
    

    完整公式:

    =(DATEDIF(dateFrom,dateTo,"D"))-INT(DATEDIF(dateFrom,dateTo,"D")/7)*2-IF((WEEKDAY(dateTo)-WEEKDAY(dateFrom))<0,2,0)-([Total Half Days]/2)+1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2012-03-06
      • 2016-08-30
      • 1970-01-01
      • 2011-10-26
      相关资源
      最近更新 更多