信息: Excel 2010(无宏)
数据设定: MySQL查询/ phpMyAdmin 服务器: Apache
代码通过以下方式运行:服务器SQL查询(在phpMyAdmin中复制和粘贴)或在MySQL Workbench中或使用自定义购物车管理器。
导出到: Excel(.csv然后是.xlsx用于销售报告)
注意:工作簿使用我的查询以及其他数据
我的问题分为两部分:
1)将X个月添加到现有年/月的基本公式
2)扩展该公式以包括在“IF”公式中
如果可能,不仅是EXCEL,还有SQL公式
我的所有列都在我的MySQL查询中格式化,如下所示:
DATE_FORMAT(T5.date_purchased + INTERVAL 1 MONTH, '%Y-%m-%b') As PayMonth,
我想在Excel中使用结果实现相同的功能,但是如果数据未从查询中提取,我会从其他数据源插入它们。
注意我不希望显示列'D',这应该在公式中。我的想法是,如果我不需要下面的“IF”请求,我可以手动放置公式 例如B2 +(式D2)= E2 - > 2013-12-Dec Payable 2014-01-Jan
| A | B | C | D | E |
1 |salesdate | salesmonth | Distributor | +Months | Due
2 |2013/12/28 | 2013-12-Dec | 1 | 1 | 2014-01-Jan
3 |2013/11/16 | 2013-11-Nov | 2 | 2 | 2014-01-Jan
4 |2013/10/15 | 2013-10-Oct | 3 | 3 | 2014-01-Jan
我的要求延伸到在IF等式中使用它:
DUE(Col E) = Date (ColB)+ (IF (Distributor=3 +(3 months) OR (Distributor=2 +(2 months) OR etc etc
我最多可以有5个经销商,所以我的OR可能很长。
同样,我甚至不想要一个'D'列,我可以将它包含在数据表中,如果需要的话可以调用它,但我不希望它在我正在使用的工作表中。
我尝试了很多方法,但我不熟悉IF& amp;日期函数在Excel中工作。
例如=DATE(YEAR(F7),MONTH(F7)+5+1,0)
它适用于日期是2013年12月28日,而不是我在2013-12 12月的时候。
提前谢谢你。
更新使用:=DATE(YEAR(F2), MONTH(F2)+1+1,)
和格式单元格(自定义)yyyy-mm-mmm
如果我使用的是Col A,我的结果是正确的。
它不适用于Col B,导致#VALUE!
错误。
答案 0 :(得分:1)
要使用excel为A2中的日期添加n个月,您可以使用
=DATE(A2,MONTH(A2)+n,DAY(A2))
或
=EDATE(A2,n)
A2需要是有效日期
如果目标月份中不存在该日,您将获得略有不同的结果,例如如果A2 = 2014年1月31日和n = 1,第一个公式将为您提供2014年3月3日,后者将为您提供2014年2月28日
EDATE
永远不会超过目标月末