ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
123
返回列表 发新帖
楼主: dosz

[求助] 请版主把生日状态公式增加明天和本周一下内容

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-23 23:22 | 显示全部楼层
原帖由 wangg913 于 2011-2-21 09:17 发表
这个题目其实是非常复杂了,尤其题目说明的不是很清楚。

我1楼的原贴:
  1. 请版主把生日状态公式增加明天和本周一下内容
  2. 原公式=IF(E3="","",IF(YEAR(TODAY())-YEAR(H3)=DATEDIF(H3,TODAY(),"y"),IF(AND(DATEDIF(H3,TODAY(),"md")=0,DATEDIF(H3,TODAY(),"ym")=0),"今天","已过"),IF(MONTH(H3)=MONTH(TODAY()),"本月","未过")))

  3. 增加内容= "今天","明天",""已过"),....."本月","本周",""未过")))

  4. 注:E3=身份证号码;H=出生年月日。

  5. [ 本帖最后由 dosz 于 2011-2-17 16:05 编辑 ]
复制代码
这是一个网友叫“secowu”2005年的作品:[分享]在众多网友的帮助下,完整源码“职员身份证生日管理系统”已经完工了
http://club.excelhome.net/viewth ... id=907036#pid901361

我只是想在此基础上加一下"明天","本周"。其目的也很明确,看下这个公式会演变成什么模样。
其结果你看,公式大不一样了吧!
=LOOKUP(TEXT(C2,"m-d")-TODAY(),{-400,0,1,2},IF({1,1,1,0},{"已过","今天","明天"},IF(TEXT(C2,"m-d")-7<TODAY()-TEXT(MOD(TODAY()-1,7),"0;;7"),"本周",IF(MONTH(C2)=MONTH(TODAY()),"本月","未过"))))

以下是大头版主的回复:
5楼
  1. 回复 4楼 dosz 的帖子
  2. 你上个附件,并模拟结果,说明你要实现的功能。
复制代码
8楼
  1. 回复 7楼 dosz 的帖子
  2. =LOOKUP(TEXT(C2,"m-d")-TODAY(),{-400,0,1,2},IF({1,1,1,0},{"已过","今天","明天"},IF(TEXT(C2,"m-d")-7<TODAY()-TEXT(MOD(TODAY()-1,7),"0;;7"),"本周",IF(MONTH(C2)=MONTH(TODAY()),"本月","未过"))))

  3. 哈哈,有点儿长,请高手简化一下吧。
复制代码
19楼
  1. 回复 18楼 gouweicao78 的帖子
  2. 这个题目其实是非常复杂了,尤其题目说明的不是很清楚。
复制代码
我想要说的是大头版主在5楼、8楼没有说起过“尤其题目说明的不是很清楚。”之类的话。确到了人家帮我提见义的时候,突然想起此问题的?再说我一楼的题问到现在我也看不出在哪里有什么“题目说明的不是很清楚”的地方。
我有很多地方是表述不清,过去有,将来还会有,这也许是好大一块人的通病。还望包容。

首先声明;我在这里不是说大头版主的不是,不要说是大头版主说我,就是打我几下也没事的,前题是你是我的老师,多少教我了一点技术。

[ 本帖最后由 dosz 于 2011-2-23 23:27 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-2-24 00:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 1楼 dosz 的帖子

我发觉你身份证验证都有问题,年份输入9999年月13和34日都可以通过

TA的精华主题

TA的得分主题

发表于 2011-2-24 13:27 | 显示全部楼层

回复 21楼 dosz 的帖子

我开始说,题目有点不清楚是指:

本周、本月,不好界定。
本周、本月是指什么?
比如今天2011-2-24(星期四),如果2011-2-28过生日(下星期一),是下周是吧?
如果今天是2011-2-28, 2011-3-1过生日,是本周还是下月?

也就是18楼草版说的意思。

TA的精华主题

TA的得分主题

发表于 2011-2-24 22:15 | 显示全部楼层

这下成难题了,呵呵。

分开判断都不是太容易了:
1、判断今天:
  1. =TEXT(C2,"m-d")-today()=0
复制代码
2、判断明天:
  1. =TEXT(C2,"m-d")=TEXT(NOW()+1,"m-d")
复制代码
因为可能今天是12-31,而明天是1-1,所以用TEXT(C2,"M-D")得到的是今年的元旦,不能直接减去TODAY()+1得到的明天。
3、判断本周:
  1. =OR(TEXT(C2,"M-D")=TEXT(TODAY()-MOD(TODAY(),7)+ROW($2:$8),"[>"&TODAY()+1&"]M-D;"))
复制代码
其中,TODAY()-MOD(TODAY(),7)是上周六,+ROW($2:$8)得到本周一~本周日,不过只有后天(也就是大于TODAY()+1)的日期才算,因为有的是已过、今天、明天。
4、判断下周:
  1. =OR(TEXT(C2,"M-D")=TEXT(TODAY()-MOD(TODAY(),7)+ROW($9:$15),"[>"&TODAY()+1&"]M-D;"))
复制代码
5、判断本月:应该是下周日以后、下月1日前的日期
  1. =OR(TEXT(C2,"M-D")=TEXT(EOMONTH(NOW(),0)+1-ROW($1:$31),"[>"&TODAY()-MOD(TODAY(),7)+15&"]m-d;"))
复制代码
6、判断下月:应该是本月末以后、下下月1日前的日期
  1. =OR(TEXT(C2,"M-D")=TEXT(EOMONTH(NOW(),1)+1-ROW($1:$31),"[>"&EOMONTH(NOW(),0)&"]m-d;"))
复制代码
7、其余的日期,才都是“已过”

什么是【提醒】,就是要有醒目的,如果一片绿色有一点红色,那么红色就很突出,很醒目。但如果到处都是红色,也就不再醒目了。就像一篇课文,到处都是重点,就没有重点。
所以,我说:还不如简单的n天后生日提醒。

[ 本帖最后由 gouweicao78 于 2011-2-24 22:21 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-6 19:12 | 显示全部楼层
如果今天是2011-2-28, 2011-3-1过生日,是本周还是下月?
答:是明天!
因为公式的要求是:今天,明天,本周,下周,本月,下月。
因为在一个单元格内只能是单项选择的填充,而按照传统的说法是明天在前。
后面的公式(下月)又必须扣除前面已提到过的(明天)公式。

对以上两位版主的回复,相信浏览过的坛友会学到好多知识,这才是最重要的。
限于本人水平浅薄,无法满足两位坛主的追问,只能笑笑了。

TA的精华主题

TA的得分主题

发表于 2012-2-23 11:30 | 显示全部楼层
你好,我也在做身份号排序筛选,遇到了问题,想筛选8位数字然后在排序的问题。请问你呆以帮助我下啊。我的QQ95786690谢谢。。急

TA的精华主题

TA的得分主题

发表于 2012-2-23 11:34 | 显示全部楼层
wangg913 发表于 2011-2-20 14:16
自己加上就行了。
另外,C列公式可改为:
=--TEXT(MID(B2,7,LEN(B2)/2-1),"0-00-00")

你好,我也在做身份号排序筛选,遇到了问题,想筛选8位数字然后在排序的问题。请问你呆以帮助我下啊。我的QQ95786690谢谢。。急

TA的精华主题

TA的得分主题

发表于 2012-2-23 11:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-23 11:54 | 显示全部楼层
wangg913 发表于 2011-2-20 14:16
自己加上就行了。
另外,C列公式可改为:
=--TEXT(MID(B2,7,LEN(B2)/2-1),"0-00-00")

在嘛,亲。。。我发的信息你收到了嘛
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 16:51 , Processed in 0.032208 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表