-
-
小灰灰1 数据达人Lv4
发表于2020-7-28 13:30
悬赏1
已解决
楼主

if单元格的具体配置如上图所示,执行时报错:

变体型是啥样的呀?我那个应该怎么改合适呢?
最佳答案
本帖最后由 xxxl 于 2020-7-30 13:52 编辑

关贴总结:
if语句建议改成嵌套的if(,,if())这种嵌套建议一步步的来做if条件一点点的加看看问题出现在哪里
这里楼主查出是是月的判断出现了问题
感谢楼主分享
小灰灰1 发表于 2020-7-29 09:18
解决了,是月的判断那应该用大于等于,改完就对了,谢谢大家

关贴总结:
if语句建议改成嵌套的if(,,if())这种嵌套建议一步步的来做if条件一点点的加看看问题出现在哪里
这里楼主查出是是月的判断出现了问题
感谢楼主分享
8个回答
xxxl 发表于 2020-7-28 15:15
if(条件1,结果1,if(条件2,结果2,if(条件3,结果3,if())))
if(GRID1.E5="年" and mid(ASSTR(GRID1.F3$),1,len(ASSTR(GRID1.F3$))-2)=MONTH(GRID1.D5) and DAY(GRID1.D5 ) >=(mid(ASSTR(GRID1.F4$),1,len(ASSTR(GRID1.F4$))-2)-1)*7+1 and DAY(GRID1.D5)<=mid(ASSTR(GRID1.F4$),1,len(ASSTR(GRID1.F4$))-2)*7,"o",if(GRID1.E5="月" and mid(ASSTR(GRID1.F3$),1,len(ASSTR(GRID1.F3$))-2)=MONTH(GRID1.D5) and DAY(GRID1.D5)>=(mid(ASSTR(GRID1.F4$),1,len(ASSTR(GRID1.F4$))-2)-1)*7+1 and DAY(GRID1.D5)<=mid(ASSTR(GRID1.F4$),1,len(ASSTR(GRID1.F4$))-2)*7,"o",
if((GRID1.E5="天" and mid(ASSTR(GRID1.F3$),1,len(ASSTR(GRID1.F3$))-2)=MONTH(GRID1.D5)) OR (GRID1.E5="天" and mid(ASSTR(GRID1.F3$),1,len(ASSTR(GRID1.F3$))-2)>MONTH(GRID1.D5)),"o","")))
我写出来了,但是实际结果不对,还得缕下逻辑。。。太麻烦了。。。
小灰灰1 发表于 2020-7-28 17:36
if(GRID1.E5="年" and mid(ASSTR(GRID1.F3$),1,len(ASSTR(GRID1.F3$))-2)=MONTH(GRID1.D5) and DAY(GRID1 ...
你这里这么多的条件根据不清楚是哪里的条件出现了问题,建议一步步的来做if条件一点点的加看看问题出现在哪里
本帖最后由 xxxl 于 2020-7-30 13:52 编辑
小灰灰1 发表于 2020-7-29 09:18
解决了,是月的判断那应该用大于等于,改完就对了,谢谢大家

关贴总结:
if语句建议改成嵌套的if(,,if())这种嵌套建议一步步的来做if条件一点点的加看看问题出现在哪里
这里楼主查出是是月的判断出现了问题
感谢楼主分享