表1
| | 1 Jan 2018 | 2 Jan 2018 | 3 Jan 2018 | 4 Jan 2018 | 5 Jan 2018 |
|----|------------|------------|------------|------------|------------|
| A1 | | | | | |
| A2 | | | | | |
| A3 | | | | | |
| A4 | | | | | |
| A5 | | | | | |
| A6 | | | | | |
|----|----------|-----------|-----------|-----------|-----------|
| A1 | 3-Jan-18 | 10-Jan-18 | 17-Jan-18 | 24-Jan-18 | 31-Jan-18 |
| A2 | 3-Jan-18 | 10-Jan-18 | 17-Jan-18 | 24-Jan-18 | 31-Jan-18 |
| A3 | 3-Jan-18 | 10-Jan-18 | 17-Jan-18 | 24-Jan-18 | 31-Jan-18 |
| A4 | 3-Jan-18 | 6-Jan-18 | 10-Jan-18 | 13-Jan-18 | 17-Jan-18 |
| A5 | 3-Jan-18 | 10-Jan-18 | 17-Jan-18 | 24-Jan-18 | 31-Jan-18 |
| A6 | 3-Jan-18 | 10-Jan-18 | 17-Jan-18 | 24-Jan-18 | 31-Jan-18 |
IF MATCH
=IF(MATCH(A2,$A$27:$A$54,0) & MATCH(C1,$B$27:$S$54,0),"1","")
表&上面的图片清楚地说明&试验出来。 提前致谢(:
答案 0 :(得分:1)
首先,MATCH()
会返回一个数字,表示找到匹配项的位置,因此您的公式为您的第一个潜在匹配项显示IF(1 & 1,"1","")
,此处没有逻辑。
第一个修正案是强制输入真/假输出:=IF(AND(ISNUMBER(MATCH()),ISNUMBER(MATCH())),"1","")
你仍然遇到第二个匹配引用整个resuts范围的问题,你真的希望这只能查看满足第一个条件的行,为此我们将使用数组公式来构建你的数组想用:
编辑:您无法从匹配中删除数组,因为它返回一个整数:
=LARGE(IF(B$1=IF($A2=$A$27:$A$54,$B$27:$S$54),1,0),1)
这是一个数组公式,同时仍在公式栏中按 Ctrl + Shift + Enter < / p>
内部IF()
statemnet正在构建每行的数组,提供列A匹配的值,而不提供FALSE的值。然后,out IF()
语句将评估0或1是否在新数组中找到日期...
我已经将它包装在LARGE()
中以返回第一个最大数字,所以如果找到一个匹配,它将返回1.如果你想要空白,你可以将整个事物包装在另一个{{1}声明; IF()