我正在尝试根据另一列的日期和ID获取一列的最近日期。例如:
01-001 1/5/2017
01-002 12/28/2016
01-003 1/5/2017
01-001 8/21/2017
第二组数据为:
01-002 11/4/2016
01-002 6/24/2016
01-002 12/25/2016
01-003 1/14/2017
对于01-002,我想从第二组数据返回12/25/2016。必须与Max进行某种数组索引匹配才能做到这一点,我只是不能将它们全部放在一起。
答案 0 :(得分:2)
这些工作!见下面的照片。不幸的是,如果不输入公式栏就无法看到突出显示的范围...这将删除数组公式括号{}
您可能忘记了使用数组公式设置公式。您可以通过按CTRL SHIFT ENTER而不是Enter来做到这一点。没关系,因为公式被打破了!有时修补会惹上麻烦!
新方程式。
{=INDEX(C7:C10,MATCH(1,(MIN(IF(C7:C10-E6>0,C7:C10-E6,(C7:C10-E6)*-1))=IF(C7:C10-E6>0,C7:C10-E6,(C7:C10-E6)*-1))*1,0))}
我正在确定匹配日期,以免使该公式变得太大。
方程本身很简单: 我们取一个范围,然后用另一个单元格值减去该范围内的每个单元格。如果这些计算之一的输出为负,则将其乘以-1使其为正。我们这样做两次。对于这些数组之一,我们应用MIN函数,从而使该数组中的数字最小。然后,我们将剩余数组中的每个单元格与此最小值进行比较。结果是一个数组,该数组具有与我们刚才在比较中使用的数组相同的项,并填充有对与错,等于或不等于最小值。然后,我们采用数组并将其中的每个项目乘以1,从而将true / false值转换为二进制0和1s。然后,我们将此数组与1匹配。第一个匹配(数组中的1与1)将获得我们的行。