LibreCalc中基于日期区间的多值VLOOKUP实现方法问询
在LibreCalc中实现日期区间分组并返回多值的方法
完全可以实现这个需求,下面提供两种实用的方案:
方案一:辅助列标记+筛选提取
假设你的日期数据在A列,对应需要返回的值在B列:
- 插入辅助列(比如C列),在C2单元格输入公式:
=IF(AND(A2>DATE(2016;3;1);A2<DATE(2017;6;26)); "第一组"; IF(A2>=DATE(2017;6;26); "第二组"; ""))
下拉填充到所有数据行,完成分组标记。 - 选中C列,点击顶部菜单栏的「数据」→「筛选」,通过筛选器选择「第一组」或「第二组」,就能快速查看对应区间的所有值,也可以复制筛选后的结果到其他位置。
方案二:数组公式直接提取多值
如果不想用辅助列,可直接用数组公式批量提取对应组的值:
- 提取第一组的对应值:在空白单元格(比如D2)输入公式,输入完成后按
Ctrl+Shift+Enter触发数组公式:=INDEX($B$2:$B$100; SMALL(IF(AND($A$2:$A$100>DATE(2016;3;1);$A$2:$A$100<DATE(2017;6;26)); ROW($A$2:$A$100)-ROW($A$2)+1; ROW($A$100)+1); ROWS($D$2:D2)))
下拉D2单元格,就能依次列出第一组的所有对应值。 - 提取第二组的对应值:把上述公式中的AND条件替换为
$A$2:$A$100>=DATE(2017;6;26)即可,同样按Ctrl+Shift+Enter确认后下拉。
注:公式中的$B$2:$B$100和$A$2:$A$100请根据你的实际数据范围调整。
内容的提问来源于stack exchange,提问作者Bazman
相关产品推荐
相关产品推荐

