EXCEL如何提取 符合条件的多行数据

表一:源数据表,不能改动

表二:我想做的表,把所有质量为A的提取出来

请问表二中应该用什么样的公式能够实现目标效果?
源数据中的数随时会更新改动,我想要表二实现自动提取

    EXCEL中将某些记录按条件提到到其它位置中,比较方便的是用高级筛选,特别是当数据量大时,使用数组公式,速度会变得较慢;

    建立条件区域,首行为字段名,下行为条件(如果有几个字段名,需要同时满足的条件放在同一行,只要满足其中一个的,放在不同行中);

    选择:数据--排序和筛选--高级;

    打开高级筛选对话框,选择“将筛选结果复制到其他位置”,按下图选择区域;

    确定后即得到筛选结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-10

1、第一步:打开源数据表一(这里为了方便截图解释,就先建个表一并填入一些数据),再建两个空白的表分别为表二跟表三。

2、第二步:全选源数据表一,并将其复制到空白的表三内。(这样在表三内操作就不会改动到源数据了)。

3、第三步:在表三内进行数据筛选(我们这里定义筛选条件为质量为A),在表格中选中“质量”在菜单栏依次选择“数据”“筛选”。

4、第四步:点击“质量”条件旁边的三角按钮,去掉全选并勾选“A”然后点击确定。

5、第五步:这时候把筛选出来的符合条件的内容,框选并复制到空白的表二,数据提取就完成了。

本回答被网友采纳
第2个回答  2018-12-03

1、首先打开需要处理的表格,需要先创建一个简单格式的查询表。

2、完成以上步骤,点击“原始数据”表,在A2单元格中输入“=countif($B$1:B2,”,然后用鼠标点击下方“查询表”。

3、完成以上步骤后,将鼠标移动到单元格右下方,出现“+”后双击,向下填充。

4、点击“查询表”,在A4单元格中输入公式“=IF(ISNA(VLOOKUP(ROW()-3,原始数据。

5、在查询表C1单元格中输入我们需要查询的企业类型,就可以查询到相应的数据。

本回答被网友采纳
第3个回答  2018-07-06

if函数,countif函数、VLOOKUP函数、HLOOKUP函数等都是按条件提取数字。

举一个简单的例子,IF函数。

示例:如果A2的值大于15,则返回A2,反之则返回B2。

本回答被网友采纳
第4个回答  2014-04-10
在表二的A2单元格中输入
=IF(ROW(1:1)>COUNTA(Sheet1!$C:$C),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$2:$C$3000="A",ROW(Sheet1!$2:$3000),4^8),ROW(1:1))))&""
CTRL+SHIFT+回车
向右,然后向下拉。

这里有几个前提,1、你表一原数据不超过我定的3000行,当然你也可改我的定的行数。
2、向下拉,拉到你认为符合条件内容的不可能超过的地方才停,比如你认为最多100行合条件,你就拉到101行才停,不然返回可能不全的。追问

大神,求问,ROW(1:1)是指的什么意思呢?ROW函数不是返回行号吗?ROW(1:1)不就是1吗?同问ROW(2:3000),这个函数起的什么作用?

追答

ROW(1:1)是返回1,但你要往下拉,它会变成2、3、4……
ROW(2:3000),会返回一组数组,2、3、4、5、6、7、……3000,这组数会和前面的Sheet1!$C$2:$C$3000="A",所产生的真假数组组合,产生一组符合录找条件的数,也就是符合条件的数值所在行号。
SMALL再依次找到合条件的第1个、第2个、……
其实你可以用F9,来看公式产生的结果的,
或用公式求值功能来看和理解公式。
不过在求之前,要将3000这个数减少,不然会报错的。

追问

拜谢大神!

本回答被提问者采纳
相似回答