首页 > 解决方案 > AND 公式未按预期工作 - EXCEL

问题描述

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

=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))

在哪里 :

=MOIS(RECHERCHEV(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX)) & ANNEE(RECHERCHEV(B25;'Liste-Stagiaire'!$1:$1048576;8;FAUX))  

输出:72019

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

输出:102019

所以给出公式:

=AND(72019 <= 102019 )

例外的输出将是TRUE我得到的输出是 FALSE

我在这里想念什么?

标签: excelexcel-formula

解决方案


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

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

=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)))

但是正如@ForwardEd@Cyryl所说,使用日期可能会更好,并且可以避免与字符串之间的转换,或者这样的事实112018>072019

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

推荐阅读