我有一个有趣的问题,我无法弄清楚!我有一个文件可能会让问题变得简单,但我会尽力解释。
我在一个工作簿中有 4 个工作表。数据表、房屋贷款、YR2、表格。
在 M2 的数据表上,我有一个格式为 d-mmm-yy 的日期
在 Homeloans 中,我有来自 A1:L1 的日期,这些日期是从数据表 =DATE(YEAR(Datasheet!$M$2),MONTH(Datasheet!$M$2)+0,1) 上的日期派生出来的,一直到 L1 中的 =DATE(YEAR(Datasheet!$M$2),MONTH(Datasheet!$M$2)+11,1),在 A2:L2 中我输入了值
在 YR2 上,我使用了相同的设置。日期系统设置为看起来像财政年度而不是日历年。
在 B1:Y1 的表格中,我有日期。B1 使用公式 =IF(Datasheet!M2<>"",TEXT(Datasheet!M2,"d-mmm-yy"),"Jan") B2 使用 =IF(OR(B$1="",B$1=""),"",TEXT(EDATE(B$1,1),"d-mmm-yy")) 并传播到 Y1。
在 B2:Y2 中我使用这个公式 =SUMPRODUCT(--(TEXT(Homeloans!$A$1:$L$1,"d-mmm-yy")=B$1),Homeloans!$A$2:$L$2) 并将其分别更改为 Y2
这是最棘手的部分。
在表格 C18 单元格中我设置了一个数据验证列表来选择年份。
在表格 E18 中我有公式 =SUMPRODUCT(--(RIGHT(TEXT($B$1:$Y$1,"d-mmm-yy"),1)+0=$C$18),$B$2:$Y$2)
这就是问题所在。
如果我将数据表上的日期设置为 2011 年 1 月 11 日,并在表格表的 C18 上选择第一年,我就会在 E18 上得到正确的总和。
如果我将数据表上的日期更改为 2012 年 1 月 11 日,它会将 E18 中的值翻转为零。这是奇怪的部分。如果我将 C18 中的值更改为第二年的 2,那么它会给出正确的总和。所以我玩了公式 =SUMPRODUCT(--(RIGHT(TEXT($B$1:$Y$1,"d-mmm-yy"),1)+0=$C$18),$B$2:$Y$2),发现如果我将突出显示的部分更改为 +-1,然后再次选择第一年,它会给出正确的总和。
它确实满足了我的需求,但问题是,对于每个日期设置,我都必须进入并根据数据表上的日期在数字线上上下更改该值,而这根本行不通。它必须是动态的,并根据值显示的年份提取值。
因此,如果例如在 2011 年 1 月 11 日输入了一笔付款作为第一笔付款,在 2011 年 1 月 12 日输入了第二笔付款,并且我想知道贷款第一年的总额,则它应该只给我 E18 中的该值。
任何帮助解决此问题的帮助都将不胜感激。我的额头已经快要撞到墙上了!
问候,D
答案1
你谈到“第一年”和“第二年”,但你的公式不是对“第一年”或“第二年”的总结,而只是对几年的总结结尾1 或 2,这可能不是一回事。
如果“第一年”总是与日期相同,B1
也许可以尝试这个公式E18
=SUMPRODUCT(--(RIGHT($B$1:$Y$1,2)=$C$18-1+RIGHT($B$1,2)),$B$2:$Y$2)