You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何条件删除IMPORTHTML导入数据中所有列值为零的行

实现方案

你原公式重复触发了两次IMPORTHTML网页请求,既容易触发网站访问限制,加载速度也慢,下面的优化版公式可以一次性完成数据抓取、*号清洗、全0行过滤的全流程,直接替换原公式即可使用:

=ARRAYFORMULA(
  LET(
    raw_data, IFERROR(
      SUBSTITUTE(IMPORTHTML("https://niftyinvest.com/option-chain/"&D2&"?expiry="&$B$2,"Table",1),"*","")*1,
      SUBSTITUTE(IMPORTHTML("https://niftyinvest.com/option-chain/"&D2&"?expiry="&$B$2,"Table",1),"*","")
    ),
    non_zero_count, MMULT(--(raw_data<>0), SEQUENCE(COLUMNS(raw_data),1,1,0)),
    FILTER(raw_data, non_zero_count<>0)
  )
)

逻辑说明

  • 用LET函数将抓取、替换特殊字符、数值转换的处理结果定义为raw_data,全流程仅执行一次网页抓取,避免重复请求
  • 全0行判断逻辑:
    • 先将raw_data中所有不等于0的值(包括表头文本、有效数值)标记为1,等于0的值标记为0
    • 通过MMULT矩阵函数按行求和,若某行求和结果为0,代表该行所有列的取值均为0
  • 最后用FILTER保留求和结果不为0的行,自动剔除全0无效行

注意事项

期权链表格的表头为文本内容,会被自动识别为非0值,不会被误过滤,不需要额外针对表头做适配。如果使用时出现维度报错,检查抓取到的表格是否存在异常合并单元格即可,niftyinvest的标准期权链页面结构稳定,正常情况直接套用即可运行。

内容的提问来源于stack exchange,提问作者Brijesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 19:12:18