易表在线答疑技术与交流用户社区 → [求助]如何精确计算某人在某年某月某日属于何年龄段档次问题


  共有16392人关注过本帖树形打印复制链接

主题:[求助]如何精确计算某人在某年某月某日属于何年龄段档次问题

帅哥哟,离线,有人找我吗?
tzszw
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
[求助]如何精确计算某人在某年某月某日属于何年龄段档次问题  发帖心情 Post By:2006/11/23 20:07:00 [只看该作者]

   我做的一个系统,其中涉及对人员的分段问题,搞了好长时间,我认为很好了,但用户总觉得计算不精确,特此请教一下各位。
   情况是这样的:
   有一个分段方法,如下
   年龄段             男                         女
 第一年龄段       16周岁以下                 16周岁以下            
 第二年龄段       >=16周岁<50周岁            >=16周岁<45周岁
 第三年龄段       >=50周岁<60周岁            >=45周岁<55周岁
 第四年龄段       >=60周岁                   >=55周岁
 有一个固定的截止计算时间,为2005年12月31日(这个时间也可能会变动,但不管变动不变动,其对每个人来说,都是一致的,即每个人计算的截止时间均以此为准,姑且先定为“截止时间”,另一个时间为“出生年月”)。
 我目前的计算公式是:
 第一年龄段:if([性别]="男",if(DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_一_男周岁],-1,0),if(DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_一_女周岁],-1,0))
 第二年龄段:if([性别]="男",if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_二_男周岁1] and DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_二_男周岁2],-1,0),if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_二_女周岁1] and DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_二_女周岁2],-1,0))
  第三年龄段:if([性别]="男",if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_三_男周岁1] and DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_三_男周岁2],-1,0),if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_三_女周岁1] and DaysBtw([出生年月],[截止时间])/365<[年龄段!年龄段_三_女周岁2],-1,0))
  第四年龄段:if([性别]="男",if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_四_男周岁],-1,0),if(DaysBtw([出生年月],[截止时间])/365>=[年龄段!年龄段_四_女周岁],-1,0))
  要求如定位某人在某年龄段,则其必须正好是满多少周岁月落在某个年龄段的档次里。即是分“男”或“女”用其“出生年月”至“截止时间”的天数/365天计算,但这样算的话还是有误差(特别是40岁以上人员,可能是有闰年的缘故)。
 如:周某,男,1946年1月7日出生,截止2005年12月31日,应属第三年龄段,因为其肯定不足60周岁(至60的应至2006年1月7日后),但却计算成第四年龄段的了。
  请大家看看,是不是公式有问题,什么好建议?
  谢谢!
  

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 20:13:00 [只看该作者]

发文件测试吧。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 20:16:00 [只看该作者]

DaysBtw([出生年月],[截止时间])/365只能计算出大致的时间段,准确性值得怀疑。

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/23 20:33:00 [只看该作者]

下面引用由czy2006/11/23 08:13pm 发表的内容:
发文件测试吧。

egd文件下载
文件如上,管理员,无密码。
计算的数据在“个人开户”表中,周某为周同二(周二同)
另外,这个表好象特慢,不知何故?
CZY老师,请帮忙看一下,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 20:35:00 [只看该作者]

传个示例文件就可以了,怎么把整个程序都传上来了?

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 20:50:00 [只看该作者]

[这个贴子最后由czy在 2006/11/23 09:03pm 第 1 次编辑]

YearFrac([出生年月],[截止时间],0)比DaysBtw([出生年月],[截止时间])/365要精确的多,你可以试试。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 20:55:00 [只看该作者]

个人开户中没找到周同二?

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 21:05:00 [只看该作者]

你所说的慢主要表现在哪些方面?

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/23 21:09:00 [只看该作者]

[这个贴子最后由czy在 2006/11/23 09:22pm 第 1 次编辑]

试试年龄段_第三的公式,看看是不是准确?

[[性别]="男" And YearFrac([出生年月],[截止时间],0)>=[年龄段!年龄段_三_男周岁1] Or YearFrac([出生年月],[截止时间],0)<[年龄段!年龄段_三_男周岁2] Or [性别]="女" And YearFrac([出生年月],[截止时间],0)>=[年龄段!年龄段_三_女周岁1] Or YearFrac([出生年月],[截止时间],0)<[年龄段!年龄段_三_女周岁2]

-=-=-=- 以下内容由 czy2006年11月23日 09:14pm 时添加 -=-=-=-
楼主怎么一声不吭呀,等你回话呢。


 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/23 21:19:00 [只看该作者]

我试试。先谢谢!
记得我原来的公式也是用的YearFrac,后来用户说不准,就又改了。
慢主要体现在点主菜单中“参保处理”进入二级菜单,慢得令人难以忍受。以前很快的

-=-=-=- 以下内容由 tzszw2006年11月23日 09:19pm 时添加 -=-=-=-
点上一条、下一条都慢得要命

 回到顶部
总数 35 1 2 3 4 下一页