我有这个数据框,并且正在单元格 E1 中进行过滤:
=IFERROR(SORT($B$2:$B$6+$C$2:$C$6),"")
我正在尝试根据数组进行索引和匹配以获取 A 和 D 中的值。我几乎已经用公式做到了这一点=INDEX($A$2:$A$6,MATCH($E1,$B$2:$B$6+$C$2:$C$6,0))
Apples
但是,当我到达日期时,它会给我两个值1/12/2023 8:00
,而我希望同时看到Apples
和Bananas
。如果我要连接两列,如何获取第 n 个值?
答案1
由于使用了辅助列,因此不是一个很好的解决方案。尚未经过广泛测试。请检查您的终端。
E1 有您的公式。
在 F1 中输入 1,然后在 F2 中输入以下公式并将其向下拖到所需的行。
=IF(E2=E1,F1+1,1)
在 G1 中,公式为
=IF(F1=1,INDEX($A$2:$A$6,MATCH($E1,$B$2:$B$6+$C$2:$C$6,0)),INDEX(FILTER($A$2:$A$6,($B$2:$B$6+$C$2:$C$6)=E1),F1))
将其向下拖动到目标行。现在,对于第二个匹配的日期时间,它将返回下一个适用的值。
请你亲自测试。
排序、过滤等功能在 O365 和 2021 中可用。
编辑1
您现在可以直接在 G1 中使用以下公式,无需 IF 和 INDEX 版本
=INDEX(FILTER($A$2:$A$6,($B$2:$B$6+$C$2:$C$6)=E1),F1)
编辑2
无辅助列的解决方案
G1
=INDEX(FILTER($A$2:$A$6,($B$2:$B$6+$C$2:$C$6)=E1),COUNTIF($E$1:E1,E1))