登陆 | 会员注册 工程学习网(原标准资料网)新版上线,致力建设专业的工程资料分享平台!

excel用IF函数画个笑脸

时间:2016-10-25 来源:网络 作者:佚名 收藏到我的收藏夹

我们先来看一个图吧,看看下面的笑脸,你猜我是怎么完成的?

不会认为我是丧心病狂的一个个点出来的吧?


好吧,这个的制作很简单,跟我一起动手做起来:

步骤一:选中A1:CN95单元格区域

步骤二:在公式编辑栏输入以下公式,然后注意,按<Ctrl Enter>结束

=IF((INT(SQRT((ROW()-50)^2 (COLUMN()-50)^2))=40) (INT(SQRT((ROW()-30)^2 (COLUMN()-30)^2))=10) (INT(SQRT((ROW()-30)^2 (COLUMN()-70)^2))=10)*(ROW()<30) (INT(SQRT((ROW()-15)^2 (COLUMN()-30)^2))=10)*(ROW()<14) (INT(SQRT((ROW()-15)^2 (COLUMN()-70)^2))=10)*(ROW()<14) (INT(SQRT((ROW()-50)^2 (COLUMN()-50)^2))=30)*(ROW()>50) ((ROW()=50)*(COLUMN()>21)*(COLUMN()<79)),"█","")

步骤三:把行、列的高度与宽度拉小到一个合适的范围,这样的一个笑脸就在你的Excel表格中出现了。

这是为什么呢?

我们一步一步的来分解看看,最核心的就是这个长长的公式,你是不是已经被打败了呢?不用急,这样写公式明显很乱,我们在公式编辑栏做些小动作:


在找到合适的节点处,我们输入一个软换行<Alt Enter>,在公式中的软换行并不影响计算,但是让公式的可读性大大增强。我们发现它们的结构几乎全都是:

INT(SQRT((ROW()-a)^2 (COLUMN()-b)^2))=r

先来普及点数学的知识:

在高中数学的解析几何,我们知道:


表示坐落于原点的一个圆,而

表示以坐标(a,b)为圆心,以r为半径的圆。

那么在Excel中,是以左上角为坐标原点,向下及向右为正数坐标值,表示为(Row,Column),如Z7单元格表示为(7,26)。

我们现在就逐个开始解释公式了,其中INT表示向下取整,SQRT表示算术平方根:

(INT(SQRT((ROW()-50)^2 (COLUMN()-50)^2))=40):坐标原点在(50,50),半径为40的圆(整个脸盘的大小)

(INT(SQRT((ROW()-30)^2 (COLUMN()-30)^2))=10):坐标原点在(30,30),半径为10的圆(左眼的大小)

(INT(SQRT((ROW()-30)^2 (COLUMN()-70)^2))=10)*(ROW()<30):坐标原点在(30,70),半径为10,且Row坐标小于30的弧(右眯缝眼的大小)

(INT(SQRT((ROW()-15)^2 (COLUMN()-30)^2))=10)*((ROW()<14)):坐标原点在(15,30),半径为10,且Row坐标小于14的弧(左耳的大小)

(INT(SQRT((ROW()-15)^2 (COLUMN()-70)^2))=10)*((ROW()<14)):坐标原点在(15,70),半径为10,且Row坐标大于14的弧(右耳的大小)

(INT(SQRT((ROW()-50)^2 (COLUMN()-50)^2))=30)*(ROW()>50):坐标原点在(50,50),半径为30,且Row坐标大于50的弧(整个嘴的下半圆)

(ROW()=50)*(COLUMN()>21)*(COLUMN()<79):坐标在(50,21)到(50,79)的直线(嘴的上嘴唇)

怎么样,整个公式就这样被我们解读完成了。这里面最重要的一个知识点:

公式的排版

一个好的逻辑,好的排版,纵然你的公式很长,我们仍然可以清晰的解读。

Excel是死的,图是活的,我们换换参数,来看看笑眼在变:


吐个舌头:


来加2个黑眼珠:

怎么样,好玩儿吧?

相关关键词阅读: 返回栏目 添加到我的收藏夹
上一篇:如何将EXCEL表格插入到CAD
下一篇:Excel2016二维表转换为一维表
Powered by www.pv265.com   © 2011-2014