Excel中IF与SMALL函数组合,能在银行余额调节表自动排序输出吗?

<股票配资网>Excel中IF与SMALL函数组合,能在银行余额调节表自动排序输出吗?

在Excel中,IF函数与SMALL函数的组合,能做到类似筛选的功能并自动排序输出?筛选的数据可以直接拿来用,而且如果搭建好模版后,可以随时根据数据源的变化而迅速输出数据。我之前主要用在银行余额调节表,用来吧找出的未达按照顺序排列在银行余额调节表中,达到自动输出的目标。

这个地方我换个简单点的案例来进行演示:

Excel IF函数与SMALL函数组合_筛选排序输出数据_银行余额调节表

我想实现的一个效果是,比如我要实现条件找出产品A的数据并进行升序排列,结果如下显示:

筛选排序输出数据_银行余额调节表_Excel IF函数与SMALL函数组合

这里想用公式来实现,方便直接使用数据,而不是临时使用,用公式来实现就很便捷。

我们可以输入如下公式:

=(SMALL(IF($A$2:$A$6="产品A", $B$2:$B$6, 9^9), ROW(A1)), "")

银行余额调节表_Excel IF函数与SMALL函数组合_筛选排序输出数据

我们简单分析下这两个函数的用法:

IF函数(这个对于大部分人来说应该很熟悉)

具体就是=IF(逻辑值,

值为真时的结果

值为假时的结果

),逻辑值就是true或false,比如1=1就是true,1=0就是false。如果是true就返回第二个参数的值银行余额调节表,如果假就返回第三个参数的值。

银行余额调节表_筛选排序输出数据_Excel IF函数与SMALL函数组合

SMALL函数(语法简单,容易理解)

=SMALL(数组, k),具体解释就是在一组数据里面找出第几个小的数,比方k为1时Excel中IF与SMALL函数组合,能在银行余额调节表自动排序输出吗?,和MIN函数的效果一样,表示为最小的数。

现在我们对=SMALL(IF($A$2:$A$7="产品A", $B$2:$B$7, 9^9), ROW(A1))这个公式进行解析(记得三键CTRL+SHIFT+ENTER要同时按下生成大括号)。ROW(A1)是帮忙生成一个从1开始的数据,在这里是1,2,3,4,5作为small的k值。

SMALL函数从这个新数组{1500, 一个极大数, 600, 一个极大数, 950, 一个极大数}中提取第k个最小值。

这组数据返回的结果是这样的,我用表格展示如下:

然后利用SMALL函数来取得最小,第二小,第三小结果就是600,950,1500Excel中IF与SMALL函数组合,能在银行余额调节表自动排序输出吗?,但是这个公式有个问题就是继续往下拉就会出问题,得出这样的结果:

银行余额调节表_Excel IF函数与SMALL函数组合_筛选排序输出数据

这个数字刚好是9^9的结果,9^9的意思是9的9次方,是取了一个很大的数字,这个数字可以按照实际情况来改,比如银行余额调节表,如果公司的单笔交易额都在1000万以内银行余额调节表,这个数字可以改为,反正就是在你处理的数据中比最大的数字还大就行。比如我可以改为2000,我们看结果:

Excel IF函数与SMALL函数组合_筛选排序输出数据_银行余额调节表

对于下图中红框的数据处理是因为,我们继续往下拖数据时,第四个小的数和第五个小的数都是9^9

筛选排序输出数据_银行余额调节表_Excel IF函数与SMALL函数组合

这说明我们给的条件不够,需要再增加条件,我们可以对k来设定条件,比如产品A的数量是3个,那k最大就是3。

我们可以用函数来限制,调整后的公式如下:

=IF(ROW(A1)