创建一个在每月月初重置的Excel单元格

时间:2015-08-04 17:10:51

标签: excel excel-formula

我正在尝试创建一个Excel单元格,告诉我是否有人支付了该月的租金。因为租金是按月计算的,所以我希望单元格在每个月的开始时重置为False,并保持这样,直到有人将其更改为true,之后当新的月份时它将再次重置为false。

我试过通过创建以下单元格函数=if(Day(Today())==1, False, True)来尝试使用日期和时间函数,但是明显的问题是单元格的第一天之后单元格不会保持为假。我该如何处理这个问题?我应该使用其他任何Excel函数吗?

2 个答案:

答案 0 :(得分:1)

听起来你正在寻找2张桌子。

  1. 显示承租人,付款和日期的分类帐表
  2. 租户表显示摘要信息,并告知您是否尚未支付该月的费用
  3. 下面的样本表

    分类帐

    +--------+------------+------------+
    | Tenant |  PaidDate  | PaidAmount |
    +--------+------------+------------+
    | Paul   | 2015-06-01 | $750       |
    | Peter  | 2015-06-15 | $600       |
    | Mary   | 2015-06-29 | $500       |
    | Paul   | 2015-07-01 | $750       |
    | Peter  | 2015-07-15 | $600       |
    | Mary   | 2015-07-29 | $500       |
    | Paul   | 2015-08-01 | $750       |
    +--------+------------+------------+
    

    租户

    +--------+------------+
    | Tenant |  LastPaid  |
    +--------+------------+
    | Peter  | 2015-07-15 |
    | Paul   | 2015-08-01 |
    | Mary   | 2015-07-29 |
    +--------+------------+
    

    租户表中的LastPaid列是一个计算列,指向公式为=AGGREGATE(14,6,ledger[PaidDate]/(ledger[Tenant]=[@Tenant]),1)的Ledger表(aggregate() here上的在线信息,但基本上这将从租户的分类帐表中获取最新日期。这假设您已将构建表格式化为数据表(使用 ctrl + t )并将其重命名为" tenant"和"分类帐" ( alt + j + t + i )。

    之后您有几个选项,但最简单的可能是租户表上的条件格式选项( alt + h + l + n )。当表格在单元格=$B2<DATE(YEAR(TODAY()),MONTH(TODAY()),1)中开始时,我使用了A1。毕竟,它最终看起来像下面的

    CustomConditionalFormatting

    如有任何问题,请随时发表评论或通过任何更新修改OP。希望这有帮助!

答案 1 :(得分:0)

我还没有测试过save / getsetting方法......但它可能适用于您的应用程序。如果您有任何VBA经验,您可能会发现任何出现的扭结。如果没有,请评论,我会尽力帮助。

sub datechecker()

dim y as byte
dim x as byte



on error resume next
    y = getsetting("myapp","settings","mysetting1")
    x = day(now)
        if y > x then
            'change the range to match the cells that should be changed to false
            ThisWorkbook.Worksheets("Sheet1").Range("D1:D300") = "False"
        end if
    y = x
    savesetting ("myapp", "settings", "mysetting1", y)

end sub

链接: 如有必要,如何修改范围:http://excelmacromastery.com/Blog/?p=165 日期和时间变量:http://www.classanytime.com/mis333k/sjdatetime.html 分配变量:What does the keyword Set actually do in VBA?