首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每12个月重新开票一次

每12个月重新开票一次
EN

Stack Overflow用户
提问于 2021-11-05 12:22:53
回答 1查看 48关注 0票数 0

正在尝试创建发票以自动填写。我以前在VBA中做过这件事,但现在工作表要上云,并被Excel online使用,所以不幸的是,VBA被淘汰了!

尝试使会员费根据其开始日期每12个月重新出现一次!

我正在尝试使用EDATE,并让它在我的测试对象上工作,但后来意识到它不会起作用,因为我只离开了前12个月!

需要一双全新的眼睛来给我点子,或者给我一个简单的解决方案(如果可能的话)

目前有以下内容,它在第一年有效,然后就不会了!

代码语言:javascript
复制
Cell X7 = =EDATE(TODAY(),3) <----- Creates the cut off for invoicing if Membership due before then.
Cell V12 = =VLOOKUP(O12,'Youth Details'!$A$4:$H$95,8,0) <---- Returns their start date. i.e 19-Nov-2020
Cell W12 = =IF(AND(V12>TODAY(),V12<X7),"True", "False") <---- Returns if they have been with us for 9 months to 12 months and needs to be invoiced!

这是可行的,在他们的第一年,然后第二年它不会为他们开具发票,因为他们已经在那里24个月了。

我在考虑在cell V12中扩展我的VLOOKUP,如果那里的会员超过12个月前,就再增加12个,但我搞混了!

对于下一步该怎么做有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 14:36:07

一种方法可能是

  1. 计算他们已经加入的月数,比如34。
  2. 使用除数为12 (月)的MOD()模函数。这将丢弃他们所属的整个12个月期间(年)的数量,只留下自上次周年纪念以来的月数。因此,对于34,它将给他们的两年anniversary.
  3. If的"10“个月从#2的答案是他们接近续订,就像他们是在他们当前的会员年度9+几个月,发票他们。

代码语言:javascript
复制
Cell V12: =VLOOKUP(O12,'Youth Details'!$A$4:$H$95,8,0) <---- Returns their start date, like 1-Jan-2019
Cell V13: =DATEDIF(V12, TODAY(), "M") <---- Total # of months they've been a member, like 34
Cell W12: =IF(MOD(V13, 12) >= 9, "True", "False") <---- Returns if it's been 9+ months since their last anniversary and they need to be invoiced!

当然,如果你允许人们提前还款,那么就像AakashM指出的那样,确保你不是为他们已经支付的东西开发票是值得的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69853182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档