zoukankan      html  css  js  c++  java
  • Excel表格函数逻辑排错

    之前用Excel做了一个, 可以根据历史偏移,得出对应时间所在时序的表.

    时间节点空

    最近发现这表某个时间节点之后为空.

    函数如此:

    =TEXT(IFERROR(INDEX(表3,MATCH($K54,$D$2:$D$999,0),1)-INDEX(表4,MATCH(R$1,$E$2:$E$1000,0),6),""),"[>];")
    

    排错

    -- 核心要解决
    INDEX(表3,MATCH($K54,$D$2:$D$999,0),1)-INDEX(表4,MATCH(S$1,$E$2:$E$1000,0),6)
    INDEX(表3,MATCH($K54,$D$2:$D$999,0),1)-INDEX(表4,名字在偏移表中定位,6)
    INDEX(表3,MATCH($K54,$D$2:$D$999,0),1)-偏移天数
    INDEX(表3,日期在总学习日期表中定位,1)-偏移天数
    获取学习进度-偏移天数
    
    ---- 分析要素
    	-- 名字在偏移表中定位
    	=MATCH(S$1,$E$2:$E$1000,0)
    	-- 偏移天数
    	=INDEX(表4,MATCH(S$1,$E$2:$E$1000,0),6)
    
    	-- 当前日期在总学习日期表中定位
    	=MATCH($K54,$D$2:$D$999,0)
    
    
    
    --- 逻辑错误, 应先计算日期所在-偏移天数. 再定位
    
    INDEX(表3,MATCH($K54,$D$2:$D$999,0),1)-INDEX(表4,MATCH(S$1,$E$2:$E$1000,0),6)
    -- 修改为
    INDEX(表3,MATCH($K54,$D$2:$D$999,0)-INDEX(表4,MATCH(S$1,$E$2:$E$1000,0),6),1)
    

    解决问题

    文本无法显示


    依旧采用之前的方式

    =TEXT(IFERROR(INDEX(DATA!$A$2:$C$999,INDEX(locationTable,MATCH(E$5,DATA!$K$2:$K$999,0),MATCH($B13,DATA!$L$1:$T$1,0)),3),""),"[>];")
    

    重新排查了一下逻辑, 没有发现问题.
    但是在测试的时间发现, 其中时间表格内索引一旦超过50就会出问题. 推测应该是变量出了问题.
    查看的时候果然是之前有一个变量locationTable在定义的时候使用的Excel的名称管理快速拖拽定义的. 只定义到了50.

    改回多点即可

  • 相关阅读:
    linux 内核配置
    使用 git 下载linux 源码
    订阅 linux 邮件列表注意的问题
    使用反射创建一维数组和二维数组
    反射API
    反射机制
    集合案例--对ArrayList容器中的内容进行排序
    Collections
    TreeSet
    Set容器
  • 原文地址:https://www.cnblogs.com/jrri/p/14388836.html
Copyright © 2011-2022 走看看