找回密码
 立即注册

QQ登录

只需一步,快速开始

Ellia.Duan SpreadJS 开发认证
超级版主   /  发表于:2023-9-26 12:13  /   查看:1823  /  回复:0
本帖最后由 Ellia.Duan 于 2024-7-10 15:29 编辑

在excel中,可以根据一片范围的值筛选中另一个范围的值,如A范围,筛选出B范围的值。如下图所示。
image.png554941100.png
执行上述步骤后,筛选结果如下:
image.png546119079.png
那么在SpreadJS中,如何实现上述的功能呢?
我们首先定义筛选区域
  1. var range = new GC.Spread.Sheets.Range(0, 0, 7, 1);
  2.                 sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(range));
复制代码
然后定义公式,这里用COUNTIF公式判断,
  1. var formulaCondition = new spreadNS.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.formulaCondition, {
  2.                 formula: "=COUNTIF($B$11:$B$13,A1)",
  3.                 customValueType: GC.Spread.Sheets.ConditionalFormatting.CustomValueType.formula
  4.             });
复制代码
上述代码执行了一个公式”=COUNTIF($B$11:$B$13,A1)“ 条件区域为B11:B13 (绝对路径)。countif函数判断是否存在值。
将上述代码添加到filter后,
  1. var filter = sheet.rowFilter();
  2. filter.addFilterItem(0, formulaCondition);
  3. filter.filter(0);
复制代码
可以在第一列进行高级筛选功能。
image.png378500670.png
image.png32055052.png
具体可以参考附件的demo

公式筛选.html (2.07 KB, 下载次数: 161)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部