excel高手进,关于工作表的引用

  • s
    sz-hiker
    excel工作簿下每月一个工作表,比如说“2019-10”就是19年10月的资料,各表结构相同。现在想每个月根据工作表的命名规律自动取上个月的数据,在对上个月工作表F:Q列的引用上通过函数 "'"&MID(CELL("FILENAME"),FIND("-",CELL("FILENAME"))-4,5)&TEXT(VALUE(RIGHT(CELL("FILENAME"),2))-1,"00")&"'!F:Q" 来实现,思路是通过CELL函数找出本工作表名称,然后通过MID,FIND等函数处理为引用上个月工作表的名称,比如“2019-11”表要从“2019-10”表取数,用CELL("FILENAME")取得11月工作表的名,用MID先取“2019-”,然后用text和value函数计算上个月为11-1=10来组合成“2019-10”这个表,结果显示#value!,请问函数表达错在什么地方?example.png
    不考虑VBA的运用,因为公司用WPS免费版,无法用VBA。
  • x
    xuefeiyang
    WPS……iOS fly ~
  • s
    scyscy
    建议这么复杂的函数还是一段一段写,最后再拼起来
  • s
    sz-hiker
    回复3#scyscy
    是一段一段写的,查看计算步骤能显示出正常的数据引用范围,但是用index match 和 vlookup 以后就是#value!例如这个,再点下一步就是错误了。
  • l
    likeG4
    牛逼,只会简单函数路过
  • l
    lvwen
    回复4#sz-hiker
    Vlookup 匹配中文经常匹配不上… iOS fly ~
  • s
    sz-hiker
    回复6#lvwen

    如果数据规范还是可以的
  • x
    xhxdbxz
    应该加indirect()吧?否则vlookup第二个参数就成了字符串而非引用区域。
  • r
    rang
    是的,应该套个indirect,还有find最好查]而不是-
  • r
    rang
    还有你这样构造不能跨年,可以考虑改edate算
  • s
    sz-hiker
    应该就是这个问题,再试试看
  • s
    sz-hiker
    回复10#rang

    也考虑到这个问题,被上个问题困住了,没有来得及想,又学到一个edate方法,谢谢!
  • a
    awk
    可能你提取的是文本,不能作为函数值吧