和公式未按预期工作-EXCEL

和公式未按预期工作-EXCEL,excel,excel-formula,Excel,Excel Formula,我在那里面临一个奇怪的问题: =AND(MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))<= MONTH(Octobre!$A$2) & YEAR(Octobre!$A$2)) 输出:72019 =MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576

我在那里面临一个奇怪的问题:

=AND(MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))<= MONTH(Octobre!$A$2) & YEAR(Octobre!$A$2))
输出:72019

=MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))
输出:102019

=MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))
因此,给出公式:


=AND(72019
&
将数字转换为文本,文本将从左侧开始逐字符确定大于或小于
7>1

使用值将文本转换为数字:

=AND(VALUE(MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)))<= VALUE(MONTH(Octobre!$A$2) & YEAR(Octobre!$A$2)))

&
将数字转换为文本,文本将从左侧开始逐字符确定大于或小于
7>1

使用值将文本转换为数字:

=AND(VALUE(MONTH(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)) & YEAR(VLOOKUP(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE)))<= VALUE(MONTH(Octobre!$A$2) & YEAR(Octobre!$A$2)))

您正在进行一次比较,因此您可以比较类似:

=(Year(VLookUp(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX))*12)+Value(Month(Search(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))<(Year(Octobre!A2)*12+Month(Octobre!A2))

=(年份(VLookUp(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX))*12)+值(月份(搜索(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))您正在进行一次比较,因此您可以进行类似的比较:

=(Year(VLookUp(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX))*12)+Value(Month(Search(B25,'Liste-Stagiaire'!$1:$1048576,8,FALSE))<(Year(Octobre!A2)*12+Month(Octobre!A2))


=(年份(VLookUp(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX))*12)+值(月份(搜索(B25,'Liste-Stagiaire'!$1:$1048576,8,假))
&
将数字转换为文本,文本将从左侧开始逐字符确定大于或小于
7>1
将每个部分包装在
值中
您可以用英语发布公式吗?您可以使用I get
TRUE
=和(72019@ScottCraner不
值(月)来翻译它们(a2)和年份(a2))
由于日期的顺序而导致的产品疯狂日期?您可以使用不同的方法将其标准化为月份,这可能会更容易…让我在回答中指出,
&
将数字转换为文本,文本将从左侧开始逐字符确定大于或小于
7>1
将每个部分用包装ode>VALUE
你能用英语发布这些公式吗?你可以用I get
TRUE
=和(72019@ScottCraner不
VALUE(月份(a2)和年份(a2))来翻译它们
由于日期的顺序,产品疯狂的日期?你可以用另一种方式将其标准化为月份,这可能会更容易…让我来回答一下你的想法很好,但我认为这会影响excel的性能,因为我得到了很多公式,使用了大量的CPU..非常好regards@Dorian可以理解。我刚刚就112018(2018年11月)>72019(2019年7月)的比较向Scott发表了评论,这可能会影响您的整个方法。如果您在性能方面存在问题,您可能希望将vlookup更改为
索引
/
匹配
,并使用较小的范围(您在示例中使用的是整组行)。您的想法很好,但我认为它会影响excel的性能,因为我得到了很多公式,这些公式占用了大量CPU。非常好regards@Dorian可以理解。我刚刚就112018(2018年11月)>72019(2019年7月)的比较向Scott发表了评论,这可能会向整个方法抛出标志。如果您在性能方面有问题,您可能希望将vlookup更改为
索引
/
匹配
,并使用较小的范围(您在示例中使用的是整组行).我错过了你的编辑…看起来你比我的主要帖子评论更吸引人。我使用的日期方式似乎更好,谢谢你的建议!请检查第二个公式中的打字错误。可能有两个括号(
))
是公式末尾所必需的。我错过了你的编辑…看起来你比我的主要帖子评论更吸引人。我使用的日期方式似乎更好,谢谢你的建议!请查看第二个公式中的拼写错误。可能公式末尾需要两个括号
=(Year(Index(Sheet2!$H$1:$H$200,Match(B25,Sheet2!$A$1:$A$200,0))*12+Month(Index(Sheet2!$H$1:$H$200,Match(B25,Sheet2!$A$1:$A$200,0)))<=(Year(Octobre!A2)*12+Month(Octobre!A2))