我目前正在使用此数组公式..
{=LARGE(IF(('Data Input'!$L$3:$L$15000=$B10)*('Data Input'!$H$3:$H$15000>$C10),'Data Input'!$O$3:$O$15000,0),1)}
其中B10是文本ID,如658A和L:L是具有ID的列。 C10是日期,H:H是带日期的列。 O:O是我正在检索的#值的列。
当与ctrl,shift,enter
一起使用时,此公式适用于我的目的当我尝试使用时会出现问题...
{=IF('Data Input'!$L$3:$L$15000=$B10,1,0)}
它始终返回FALSE结果,即使它在第一个公式中正常工作。
改变结果的第二个公式有何不同? 这对我来说很奇怪。 谢谢你的帮助。
答案 0 :(得分:0)
你的第二个公式本身就是一个数组。您只查看该返回数组中的左上角元素 - 恰好是FALSE。
你的第一个公式返回一个标量值;这就是区别。
如果您想将“1”值相加,那么您的第二个公式可以修改为
{=SUM(IF('Data Input'!$L$3:$L$15000=$B10,1,0))}
这也是一个标量回归。
答案 1 :(得分:0)
IF
只是同步返回的数组的第一个值,所以只有当第一个比较为真时,它才会返回一个真值。
举例说明:
公式
式:
{=IF(A1:A3=B2,1,0)}
会;返回0,除非单元格A1更改为true。要更改结果,如果任何值为true,则返回true,你必须采取一些小技巧......
首先,使用--
将True / False值更改为1/0,然后使用SUM
将它们添加到一起。因为IF将任何非零结果视为true,这将导致在任何比较为真时返回1
。
使用新公式{=IF(SUM(--(A1:A3=B2)),1,0)}
(仍然是数组公式)完成我们的示例,我们在评估中得到以下步骤:
=IF(SUM(--(A1:A3=B2)),1,0)
=IF(SUM(--(A1:A3=2)),1,0)
=IF(SUM(--({1,2,2}=2)),1,0)
=IF(SUM(--({False,True,True})),1,0)
=IF(SUM(0,1,1),1,0)
=IF(2,1,0)
=1