zoukankan      html  css  js  c++  java
  • offset从指定区域获取数据(自动计算数据)

    1、OFFSET用于从指定区域获取一个视图。

    OFFSET(reference, rows, cols, [height], [width])
       必选:
            eference:获取被参考单元格
            rows:相对于被参考单元格的行偏移量 
         cols:
    相对于被参考单元格的列偏移量
      可选: 
         [height]:返回视图的高
         [width]:返回试图的宽
    eference:获取被参考的单元格
      a:从本工作簿获取单元格。例如,获取当前文档->值班表->D3 => 值班表!D3
      b:从其他工作簿获取单元格。例如,获取1月份值班表->值班表->D3 =>[1月份值班表]值班表!D3
      要求被引用的文档必须打开,否则无法获取引用。b中《1月份值班表》必须打开,否则公式报错。
    
    
    rows:相对于被参考单元格的行偏移量 
    a:当数字为正数时,表示相对于eference选择的单元格下移。例如:1表示下移一个单元格
    b:当数字为负数时,表示相对于eference选择的单元格上移。例如:-1表示上移一个单元格
    c:集合的表示形式,{1,17,21,25},表示eference选择的单元格向下移动1、17、21、25个单元格,组成一个视图(虚拟表)。
    
    
    cols:相对于被参考单元格的列偏移量 
    a:当数字为正数时,表示相对于eference选择的单元格右移。例如:1表示右移一个单元格
    b:当数字为负数时,表示相对于eference选择的单元格左移。例如:-1表示左移一个单元格
    c:集合的表示形式,{1,17,21,25},表示eference选择的单元格向右移动1、17、21、25个单元格,组成一个视图(虚拟表)。
    如果不想让选择的单元格移动,使用再D3改成$D$3
    综合:
    OFFSET(值班表!$D$3,{4,20,24,28},0)
    上述语句表示,被参考的单元格时当前工作簿,名称为"值班表"的工作表,D3单元格为被参考的单元格。以D3为基础向下移动4、20、24、28单元格。不左右移动。返回一列4行的视图。

    2、获取offset中重复的值,从offset中获取重复的值。使用countif函数。参考countif章节

      countif意为从指定的区域获取重复值,一旦找到重复值,将返回重复值个数。

    =SUM(COUNTIF(OFFSET(值班表!$D$3,{2,3,18,19,22,23,26,27},0),B20))*4.5

      使用sum求出使用的从视图中获取到含有B20单元格的数量,单位是4.5,计算得到实际所需值。

    =SUM(COUNTIF(OFFSET(值班表!$D$3,{1,17,21,25},0),B21))*8+
    SUM(COUNTIF(OFFSET(值班表!$D$3,{4,20,24,28},0),B21))*7

      每次只需要合理设置偏移量,修改第一行的公式即可。这里限制$D$3为固定值,B21为递增的值。












  • 相关阅读:
    java web项目打包.war格式
    version 1.4.2-04 of the jvm is not suitable for thi
    Sugarcrm Email Integration
    sharepoint 2010 masterpage中必须的Content PlaceHolder
    微信开放平台
    Plan for caching and performance in SharePoint Server 2013
    使用自定义任务审批字段创建 SharePoint 顺序工作流
    Technical diagrams for SharePoint 2013
    To get TaskID's Integer ID value from the GUID in SharePoint workflow
    how to get sharepoint lookup value
  • 原文地址:https://www.cnblogs.com/smartmsl/p/12187347.html
Copyright © 2011-2022 走看看