excel - 如何使用 excel 公式计算 yyyymm 格式的两个日期时间值之间的差异?
问题描述
我使用以下公式,
INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm"))=INT($C$1-1)
INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm"))
这部分以 yyyymm 格式返回日期。
$C$1 的值由用户以 yyyymm 格式输入。
我想和后面的部分进行比较,但是如果$C$1的值设置为202101,则失败,例如,请查找附图。在这种情况下,我希望最终输出为真。
有没有办法修改后半部分/更好地解决这个问题?
解决方案
该答案基于 OP 对原始问题的评论。OP 要求从日期 202101 中减去 1 以给出 202012 作为答案。
假设字符串日期在 C3 中,要减去的值在 D3 中,在 E3 中使用以下公式:
=IF((RIGHT(C3,2)-D3)>0,LEFT(C3,4)&RIGHT("0"&(RIGHT(C3,2)-D3),2),RIGHT("000"&LEFT(C3,4)-1,4)&RIGHT("0"&RIGHT(C3,2)+12-D3,2))
这应该可以工作:
- 这不是第 0 年
- 减去不超过 12 个月
更新
由于问题有新信息。在 B2 中使用以下公式
=A2=--IF((RIGHT(C1,2)-1)>0,LEFT(C1,4)&RIGHT("0"&(RIGHT(C1,2)-1),2),RIGHT("000"&LEFT(C1,4)-1,4)&RIGHT("0"&RIGHT(C1,2)+11,2))
如果您不确定 A2 的值是存储为文本的数字还是实际数字,您可以使用以下内容调整上述公式:
=--A2=--IF((RIGHT(C1,2)-1)>0,LEFT(C1,4)&RIGHT("0"&(RIGHT(C1,2)-1),2),RIGHT("000"&LEFT(C1,4)-1,4)&RIGHT("0"&RIGHT(C1,2)+11,2))
推荐阅读
- python - 为什么所有值都附加到列表winning_numbers?
- python - 无服务器并将图像从 Lambda 端点上传到 S3
- javascript - 提交表单时未执行脚本
- python - aiohttp: client.get() returns html tag rather than file
- python - 非标准周编号
- iexpress - Windows IExpress 是否仍然暴露漏洞?
- kubernetes - 使用 minikube 将 pod 连接到本地进程
- node.js - TypeError:UserModel.create 不是函数,Sequelize
- python - 从 Django 的 UserModel 扩展并使用它来登录
- java - 为什么我在 java 中收到死代码警告?