有同学问 PQ 里面有没有类似 floor 的向下舍入函数呢?
有一个类似的,可以完美实现需求。
案例:
将下图 1 中 B 列的公益活动志愿者时长按以下规则兑换成年假:
每 4 小时可以兑换 0.5 天;
至少 4 小时起兑;
不足 4 小时的部分可以留作下次累计后兑换。
效果如下图 2 所示。
解决方案:
1. 选中数据表的任意单元格 --> 选择任务栏的“数据”-->“来自表格/区域”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已经上传至 Power Query。
3. 选择任务栏的“添加列”-->“自定义列”
4. 在弹出的对话框中输入所需的列名 --> 输入以下公式 --> 点击“确定”:
Number.RoundTowardZero([#"志愿者时长(小时)"]/4)*0.5
公式释义:
Number.RoundTowardZero 函数的作用式将数字向 0 方向舍入到最接近的整数;
不管正数或负数都会向 0 的方向舍入,本案例中不存在负数的情况,所以就起到了向下舍入的作用;
语法为 Number.RoundTowardZero(要舍入的数值);
Number.RoundTowardZero([#"志愿者时长(小时)"]/4):将 [#"志愿者时长(小时)"] 列的数值除以 4 后向 0 的方向舍入,即向下舍入;
...*0.5:将舍入后的整数乘以 0.5,就能将小时数转换成天数
5. 选中最后一列 --> 选择任务栏的“主页”-->“删除列”-->“删除其他列”
7. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“确定”
右侧绿色的表格就是可以兑换的休假天数。
领取专属 10元无门槛券
私享最新 技术干货