我有一个日期范围,我需要比较日期是否存在于两列中:
如果E6存在于范围AK6:AK24中并且E6存在于范围AL6:AL24中,则返回“Booth”如果E6仅存在于范围AK6:AK24中,则返回“Column 1”如果E6仅存在于范围AL6:AL24中,则返回“Column 2”
bq3bfh9z1#
所以,设置这个,因为你没有提供有用的数据:
IF(AND(IFERROR(MATCH(A1,M3:M7,0),0),IFERROR(MATCH(A1,N3:N7,0),0)),"both",IF(IFERROR(MATCH(A1,M3:M7,0),0)>0,"col 1",IF(IFERROR(MATCH(A1,N3:N7,0),0)>0,"col 2")))
仅适用于第1列和两者:
soat7uwm2#
下面是一个使用INDEX()和XMATCH()并借助BOOLEAN LOGIC的替代公式
INDEX()
XMATCH()
BOOLEAN LOGIC
·单元格E7中使用的公式
E7
=IFERROR(INDEX({"Column 1","Column 2","Both"}, XMATCH(SUM(($AK$6:$AK$24=E6)+(E6=$AL$6:$AL$24)*2),{1,2,3})),"")
要解释公式的工作原理,请查看示例屏幕截图:
示例屏幕截图中的公式:·在单元格AP7中
AP7
=SUM(($AK$6:$AK$24=AO7)+(AO7=$AL$6:$AL$24)*2)
·在单元格AQ7中
AQ7
=XMATCH(AP7,{1,2,3})
·在单元格AR7中
AR7
=IFERROR(INDEX({"Column 1","Column 2","Both"},AQ7),"")
·XMATCH()中的SUM()根据BOOLEAN LOGIC返回0或1或2或3
SUM()
0
1
2
3
=SUM(($AK$6:$AK$24=E6)+(E6=$AL$6:$AL$24)*2)
·XMATCH()返回相同的位置,但当没有匹配时会有帮助,因此返回#N/A
#N/A
=XMATCH(SUM(($AK$6:$AK$24=E6)+(E6=$AL$6:$AL$24)*2),{1,2,3})
·最后,我们将其 Package 在IFERROR()中以避免错误,并返回空白,而INDEX()则根据需要获得所需的输出。
IFERROR()
或者,如果您的Excel版本中没有XMATCH(),也可以使用MATCH()函数。
MATCH()
=IFERROR(INDEX({"Column 1","Column 2","Both"}, MATCH(SUM(($AK$6:$AK$24=E6)+(E6=$AL$6:$AL$24)*2),{1,2,3},0)),"")
**注意:**根据您的excel版本,使用INDEX()和MATCH()时需要按CTRL+SHIFT+ENTER
但是,如果您在MS365中并希望获得溢出效果,则可以使用BYCOL()使用一个公式来实现·单元格E7中使用的公式
MS365
BYCOL()
=BYCOL(E6:AI6,LAMBDA(x, IFERROR(INDEX({"Column 1","Column 2","Both"}, XMATCH(SUM(($AK$6:$AK$24=x)+(x=$AL$6:$AL$24)*2),{1,2,3})),"")))
下面是另一种选择,将CHOOSE()函数与BYCOL()一起使用
CHOOSE()
·单元格E7中使用的公式-->需要正确填写!
=IFERROR(CHOOSE(SUM((($AK$6:$AK$24=E$6)+($AL$6:$AL$24=E$6)*2)),"Column 1","Column 2","Both"),"")
或者,如果你想要一个溢出数组
=BYCOL(E6:AI6,LAMBDA(x, IFERROR(CHOOSE(SUM((($AK$6:$AK$24=x)+($AL$6:$AL$24=x)*2)), "Column 1","Column 2","Both"),"")))
上述公式的几个测试用例按照要求工作:
·在单元格AS7中
AS7
=IFERROR(CHOOSE(SUM((($AK$6:$AK$24=AO7)+($AL$6:$AL$24=AO7)*2)),"Column 1","Column 2","Both"),"")
2条答案
按热度按时间bq3bfh9z1#
所以,设置这个,因为你没有提供有用的数据:
仅适用于第1列和两者:
soat7uwm2#
下面是一个使用
INDEX()
和XMATCH()
并借助BOOLEAN LOGIC
的替代公式·单元格
E7
中使用的公式要解释公式的工作原理,请查看示例屏幕截图:
示例屏幕截图中的公式:
·在单元格
AP7
中·在单元格
AQ7
中·在单元格
AR7
中·
XMATCH()
中的SUM()
根据BOOLEAN LOGIC
返回0
或1
或2
或3
·
XMATCH()
返回相同的位置,但当没有匹配时会有帮助,因此返回#N/A
·最后,我们将其 Package 在
IFERROR()
中以避免错误,并返回空白,而INDEX()
则根据需要获得所需的输出。或者,如果您的Excel版本中没有
XMATCH()
,也可以使用MATCH()
函数。**注意:**根据您的excel版本,使用
INDEX()
和MATCH()
时需要按CTRL+SHIFT+ENTER但是,如果您在
MS365
中并希望获得溢出效果,则可以使用BYCOL()
使用一个公式来实现·单元格
E7
中使用的公式下面是另一种选择,将
CHOOSE()
函数与BYCOL()
一起使用·单元格
E7
中使用的公式-->需要正确填写!或者,如果你想要一个溢出数组
上述公式的几个测试用例按照要求工作:
·在单元格
AS7
中