怎么在EXCEL中查找连续相同五行属什么数据?

比较A列与B列数据是否重复,应该有三种结果(即AB皆有,A有B无,B有A无),可在C列存放A有B无的数据,在D列存放B有A无的数据,然后再将两列数据合并即可,方法如下:
1、在C1单元格输入公式:
=IF(COUNTIF($B:$B,A1)=0,A1,"")
在D1单元格输入公式:
=IF(COUNTIF($A:$A,B1)=0,B1,"")
将两个公式用填充柄向下复制到相应的行。
2、按C列排序,将C列数据集中在一起,将其复制到另一工作表的A列;再按D列排序,将D列数据集中在一起,并将其复制到另一工作表的A列的尾部。(注意:这两个操作要用“选择性粘贴/数值”进行粘贴)
3、删除原表的CD两列,将另一工作表中A列的数据复制回原表的C列。

在 Excel 中,Indirect函数用于返回文本字符串指定的单元格引用;它共有两个参数,第一个参数是文本字符串,第二个参数是引用类型,特别要注意第一个参数必须为文本,否则会返回错误。它既能在同一工作簿中引用又能跨工作簿引用,但引用不能超过 Excel 允许的最大行数和最大列数;另外,Indirect函数通常与Address、Match、Row、Column函数组合使用实现在同一表格按条件批量提取数据和把数据从多个表格提取到一个表格;以下就是Excel用Indirect函数引用单元格和提取数据的具体操作方法,共有6个实例,实例操作中所用版本均为 Excel 2016。

  (一)A1 为 True(或省略)的实例

  1、假如要返回任意指定单元格的内容。双击 A8 单元格,输入公式 =Indirect(a4),按回车,返回 #REF! 错误;双击 A8,把公式改为 =INDIRECT("A"&4),按回车,返回 A4 中的内容“沙糖桔”;再次双击 A8,在公式后输入 True,按回车,返回与上次一样的结果;操作过程步骤,如图1所示:

  A、公式 =Indirect(a4) 之所以会返回引用错误 #REF!,是因为Indirect函数的第一个参数 Ref_Text 必须为文本,而 a4 是对具体单元格的引用,a4 在公式中会解析为它的内容“沙糖桔”,按住 Alt,分别按 M 和 V 打开“公式求值”窗口后求值可知,演示如图2所示:

  B、而公式 =INDIRECT("A"&4) 能返回正确的值,是因为 "A"&4 为文本,因此要使Indirect函数返回正确的值,它的第一个参数必须为文本。

  2、按回车,返回第五行第四列(即 D5)中的数值 1558,如图4所示:

  (三)引用 Excel 允许的最大行数或列数实列

  1、双击 B2 单元格,把公式 =INDIRECT("A"&1048576) 复制到 B2,按回车,返回第一列最后一行的值 1048576;选中 A1,按快捷键 Ctrl “向下方向键”定位到最后一行,可以看到 A1048576 中值正是返回值,当往下移动时,再也没有出现空行,说明已到 Excel 允许的最大行数;再按 Ctrl “向上方向键”重新回到第一行,双击 B3,输入公式 =INDIRECT("XFD"&1),按回车,返回第一行最后一列的值 16384,按 Ctrl “向右方向键”定位到最后一列,XFD1 的值恰好是返回值,并且 XFD 已经是 Excel 允许的最后一列,按 Ctrl “向左方向键”定位回第一列;操作如图5所示:

  按回车,返回 XFD1048576 中的数值 ,如图7所示:

  (四)Indirect函数跨表引用实例

  1、假如要在一个工作表(水果表1)中引用另一个工作表(水果表2)的 A2。双击“水果表1”的 B8 单元格,把公式 =INDIRECT("水果表2!"&"A2") 复制到 B8,按回车,返回“香蕉”,单击标签“水果表2”切换到它,A2 中的文字正是返回值;操作如图8所示:

  2、用Indirect函数跨表引用(即外部引用),只需在所要引用的单元格前多加工作表名称和感叹号 !,并且要用双击引号把它们括起来,如演示中的“"水果表2!"&"A2"”。

  二、Excel用Indirect函数跨表格批量提取数据

右下角的单元格填充柄上,鼠标变为粗体加号后,按住左键,往右拖,一直拖到 C2,则返回“红色雪纺T恤”的价格和销量;再把鼠标移到 C2 的单元格填充柄上,往下拖,则返回表格“5月和6月”第 5 行 B 列至 D 列的数据;操作步骤,如图9所示:

  A、ROW(A4) 返回 A4 的行号 4,这里用于返回工作表“4月”中的 4,因为要提取数据的表格前面是 4、5、6,当往下拖时,A4 会变为 A5、A6,也就是自动变为其余表格的名称。

  B、$A$5 中的 $ 表示绝对引用,A 和 5 前都有它,说明对列和行都是绝对引用,即无论是往右还是往下拖,A5 都不会变;ROW($A$5) 返回 A5 的行号 5,并且无论往哪拖,始终返回行号 5。

  C、B$1 表示对列相对引用而对行绝对引用,往右拖时,B1 会变为 C1、D1 等,在这里用于实现返回不同列的列号;COLUMN(B$1) 返回 B1 的列号 2,当拖到 C1 时,返回 C1 的列号 3,其它的以此类推。

  1、有一个月份销量表,假如要求提取任意月份的销量。双击 B12,把公式 =INDIRECT("r"&MATCH($A12,$A$1:$A$9,)&"c"&COLUMN(),0) 复制到 B12,按回车返回“T恤”“1月”的销量 567;选中 B12,用往右拖的方法提取“1月”剩余服装的销量,再用往下拖的方法提取“3月和7月”的销量;操作步骤如图10所示:

  A、MATCH($A12,$A$1:$A$9,) 用于返回 A12(即“1月”) 在 A1:A9 中的位置,Match函数省略了最后一个参数,默认查找小于等于查找值“1月”的最小值,“1月”在 A1:A9 的第二个位置,因此返回 2,但 A1:A9 需要按升序排序,否则可能返回不正确的位置。

  B、COLUMN() 返回公式所在列的列号,当公式在 B12,返回列号 2;当公式在 C12 时,返回列号 3;其它的以此类推。

  中文表达式:INDIRECT(引用文本, [引用类型])

  A、Ref_Text 既可以是内部引用(在本工作簿中引用)又可以是外部引用(对另一工作簿的引用),如果是外部引用,所引用的工作簿必须打开,否则将返回引用错误 #Ref!;另外,Excel Web App 不支持外部引用。

  B、Ref_Text 引用的单元格区域不能超出 Excel 允许的最大行数 1048576 或最大列数 16384(XFD),否则也返回 #REF! 错误;但 Excel 早期版本会忽略这一限制且返回一个值。

  C、A1 有两个可选值,即 True(或省略)和 False;如果为 True,则解释为如 A1 这样的引用;如果为 False,解释为 R1C1,R 表示“行”,C 表示“列”,R1C1 表示对第一行第一列的引用,即 A1。无论哪种引用方式,如果引用单元格不存在,都将返回错误。

今天跟大家一起分享一个某学员遇到的关于库存台账结余汇总统计的案例。

简单介绍一下这位学员的问题和需求。

这位学员的工作主要是统计管理各种型号产品的库存台账。现在需要将大量型号产品库存信息表中的结余数量汇总到一个工作表中。

如GHE、AA、600分别是三种不同型号产品,E列中的最后一行为该产品的最新结余情况。(注:各产品型号表中的格式一致)

现在需要在汇总表中以产品型号为行,统计每个产品最后结余情况。

我们要达成这样的需求其实有2个问题点。

  • 1、将各个产品结余明细工作表中的数据引用到汇总表中。

  • 2、如何才能返回产品型号表中的最后结余情况。

下面我们就带着这两个问题一起来解决这位同学的需求。

1、既然用到引用那么我们就必须要会用indirect函数,其主要作用为返回文本字符串所指定的引用。

A列为工作表的名称,通过将A2单元格中的文本字符与!B2合并构建一个引用。相信大家在平时工作中使用跨表匹配的时候一定很熟悉,目标单元格引用均由工作表名称+感叹号+单元格名称组成,比如:GHE!B2。

这里我们就可以通过INDIRECT(A2&"!B2")函数公式直接返回GHE工作表中B2单元格的内容。

我们再看看GHE工作表中B2单元格的内容是不是GHE。

我们看到GHE工作表中B2单元格的内容的确是GHE。

2、第二个问题是如何返回最后结余情况。

以GHE工作表为例我们最终目的是要返回表中的E7单元格内容,而且需要随着行数变化而变化。

看到这里相信很多人都会想到用offset函数来完成

Offset函数功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。

含义:以GHE工作表所在的B2作为参照单元格,向右偏移3列,向下偏移5行即可返回E7单元格最终的结余数。函数公式中的5表示第五行,3表示第三列,最后两个参数为1表示只返回一个单元格内容。

下面我们我只要将函数公式与第一步中的indirect函数公式完成嵌套:

静态的数据返回做好了,那么如何做到随着行数的变化而随时变化呢?

因为表中A列的日期与E列结余是对应的,这里我们巧妙的将行数用count函数来代替,通过count函数统计A列数值单元格数量来作为OFFSET的第二个参数。这样我们就能做到随着行数变化随时统计对应的最终结余数据。

函数公式为:COUNT(INDIRECT(A2&"!A:A"))+1,加1的原因是由于GHE工作表 A列中只有4个单元格为数值,而在上个案例中我们需要向下偏移5行,所以我们需要这基础上加1来补充到。

我们再来简单总结梳理一下:

本案例中主要的难点在如何引用指定列的最后一行数值,这里我们使用了offset、indirect函数完成了指定数据的引用,同时通过count函数完成了对指定单元格动态更新查找。最终实现了更具产品名称快速统计返回对应库存台账的最终结余情况。

我要回帖

更多关于 同五行属什么 的文章

 

随机推荐