作者sssh (叫我松高魂 ~~)
看板Office
标题[算表] 关於EXCEL做类似递回的工作但有条件限制
时间Sat Oct 27 01:06:39 2018
软体:Excel
版本:2010
我手边有一些出缺勤资料,
主要就是加班跟请假时数的纪录
现在有一个问题想请教大家
假如我现在已知某人这个月的累积时数
我想要找这些时数最後是从哪些加班日累积出来的
并把这几天日期条列出来
有办法用函数这样做吗?还是要用VBA才能作?
=============
EX:假设某员工加班请假状况如下
10/1 请假 3
10/3 加班 1
10/4 加班 4
10/8 请假 2
10/15 加班 5
10/18 请假 1
10/19 加班 6
10/21 加班 5
10/23 请假 2
10/26 加班 4
10/28 加班 3
10/30 加班 6
累积时数共20小时
==========
我自己的想法是,其实答案就是找出後面几天加班的日子
从最後一天往前累加(本例:从10/30的6小时开始加,6+3+4+5+6>20)
加到超过20就知道最後面哪几天加班是给这20小时
如果用程式设计的角度,
好像可以用For+If判断是再配合递回找出来
但是我想了一个晚上不知道怎麽用EXCEL函数找出来
想请各位前辈们指点一下~
还是说要用到VBA?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.16.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1540573602.A.D58.html
我第一个比较看不懂,
所以我自己实做第二个方式
但在H1的地方却发生问题
可以在麻烦前辈帮我看一下哪里出错吗?
感恩不尽
以下是截图:
https://imgur.com/a7DryD5
※ 编辑: sssh (1.161.63.89), 10/27/2018 13:46:28
3F:推 Tokaku: 把大括弧{}去掉,第二个做法不需要阵列公式 10/27 15:02
4F:→ Tokaku: 第二个做法多了辅助栏,所以不需要阵列公式。 10/27 15:06
5F:→ sssh: 请教T大,我不用阵列,H1出来还是一个43380 XD 10/27 15:18
6F:→ sssh: 完全不知道43380哪来的@@ 10/27 15:19
7F:→ newacc: 43380是日期序列,把数值各式改成日期就可以显示 10/27 16:53
8F:→ newacc: 格式* 10/27 16:53