<p>第六讲的作业包括附加题在内,一共四题,但却有很多人说难,真的很难吗?</p><p><font color="#ff0000"><font color="#000000">第一题<br/></font><br/><strong>函数的使用在于灵活运用<br/></strong></font>遇到第一题“红色字体部分求和”,如果遵循这样一个思路过程:<br/>审题……<br/><strong>按颜色求和</strong>。很明显这个很有难度,是需要用到宏表函数的,而且还要加辅助列,不到万不得已不用。<br/>继续……<br/><strong>红色数字里有哪些规律</strong>。4和7,谈不上任何规律在里面,如果用C3+C9是死办法,单元格一变动就不能用了。<br/>继续……<br/><strong>与红色数字对应的B列有哪些规律。<br/></strong>确实,红色数字对应的B列是有规律的,但它们的规律该如何去判断?<br/><font color="#ff0000"><strong>函数使用的结果是要使结果最大程度的通用<br/></strong></font><strong>A和AA。</strong>仅是这样的话,对目前的题目是没问题了,但范围再扩大呢?<br/>继续……<br/><strong>包含A的。</strong>再仔细看一下,BA并未包含在内,所以并不完全是包含A的。<br/>继续……<br/><strong>以A字母打头!<br/></strong>找到这个规律以后,公式就很容易出来了:<strong><font color="#0000ff">=SUMIF(B3:B10,"A*",C3:C10)</font></strong></p><p>同理应用到第二题,蓝色部分计数。<br/><br/>审题……<br/><strong>按颜色求和</strong>。很明显这个很有难度,是需要用到宏表函数的,而且还要加辅助列,不到万不得已不用。<br/>继续……<br/><strong>蓝色字母里有哪些规律</strong>。规律就是我们眼睛能看见的单元格。<br/>继续……<br/><strong>A、B、AA、BA。</strong>这里确实有点规律,用*A*和B*是可以,但如果范围再扩大呢?<br/>继续……<br/><strong>非空单元格。</strong>再仔细看一下,有一个假空的。<br/>继续……<br/><strong>非假空单元格和非真空单元格!<br/></strong>找到这个规律以后,公式就很容易出来了:<br/><strong><font color="#0000ff">=COUNTA(B3:B10)-COUNTIF(B3:B10,"")+COUNTIF(B3:B10,"=")<br/>=COUNTA(B3:B10)-SUM(COUNTIF(B3:B10,{"","="})*{1,-1})<br/>=COUNTIF(B3:B10,"<>""")-COUNTIF(B3:B10,"")<br/>……<br/></font></strong><font color="#ff0000"><font color="#000000">另外,lixianhu还提供了一些解法,供大家参考。<br/>=LARGE(ROW(B5:B12)-4,1)-COUNTIF(B5:B12,"")数组,取行号最大值(减4用于修正)减空单元格个数<br/>=MAX(ROW(B5:B12)-4)-COUNTIF(B5:B12,"")数组,取行号最大值(减4用于修正)减空单元格个数<br/>=SUM(ISNUMBER(CODE(B5:B12))*1)数组,巧取字符的CODE码为数字的加总<br/>=MATCH("々",B5:B12)-COUNTIF(B5:B12,"")普通,利用MATCH的非精确匹配最大值获得B5:B12最后一个有内容单元格的位置减空单元格个数(另外还有两题取巧了,所以未贴出来)</font></font></p><font color="#ff0000"><font color="#000000"><p>第三题简化公式:=IF(B1<>A2,IF(B1>A2,B1,A2),FALSE)<br/><br/>这题其实并不难,但我只批改到两个最精简的,原因并不在于大家对IF和MAX两函数熟或不熟,而在于还未熟练掌握如何<br/><font color="#ff0000"><strong>寻找正确的逻辑关系</strong></font><br/>审题……<br/>中间的IF(B1>A2,B1,A2)的逻辑关系是B1大于A2时,B1最大(条件是A2小于B1了),否则A2最大(条件是B1小于A2了)也就是要取这两者的最大值,MAX就可以解决。<br/>继续……<br/>外面那个IF,很明显有个FALSE在那里是非常弱智的,有没有这个FALSE,当条件不满的时候,单元格一样都返回FALSE,明显的蛇足,去掉就可以了。<br/>如此……<br/>结果就是:<font color="#0000ff"><strong>=IF(A2<>B1,MAX(A2,B1))</strong></font></p><p><font color="#ff0000"><font color="#000000">附加题我在课件里已经写了一大半了,就是<br/><br/>=IF(I58<=2000,0,IF(I58<=2500,(I58-2000)*0.05,IF(I58<=4000,(I58-2000)*0.1-25,IF(I58<7000,(I58-2000)*0.15-125,(I58-2000)*0.2-375))))<br/>实际做的过程中,只要把这段公式理解透了,并把后面的补齐即可。<br/><font color="#0000ff"><strong>=IF(F7<2000,0,IF(F7<2500,(F7-2000)*0.05,IF(F7<4000,(F7-2000)*0.1-25,IF(F7<7000,(F7-2000)*0.15-125,IF(F7<22000,(F7-2000)*0.2-375,IF(F7<42000,(F7-2000)*0.25-1375,IF(F7<62000,(F7-2000)*0.3-3375,IF(F7<82000,(F7-2000)*0.35-6375,(F7-2000)*0.4-10375))))))))<br/></strong></font><font color="#000000">当然,因为这是出于题目本身的要求才用IF,现实中有更方便的函数供大家参考:<br/>=ROUND(MAX((L16-2000)*0.05*{1,2,3,4,5,6,7,8,9}-25*{0,1,5,15,55,135,255,415,615},0),2)<br/></font></font></font><font color="#ff0000"><font color="#000000">附加题的函数里,我们看到,引用的单元格非常少,也就是说,我们在用函数的时候<br/></font></font><font color="#ff0000"><strong>尽可能减少对辅助单元格的使用<br/></strong></font><font color="#000000">试想,有多少人做的工资报表旁边还放个速算表的?</font></p></font></font><font color="#ff0000"><font color="#000000"><p>到这里,再回头来看看,这几个函数有难?无非就是最基础的SUMIF/COUNTIF/MAX/IF</p><p>最后还有一条:<font color="#ff0000"><strong>想不出来的、不确定的就亲自动爪爬进单元格去试!</strong></font><font color="#000000">这版里无数EXCEL高手,哪个不是在单元格里磨练出来的?</font></p></font></font>
[此贴子已经被作者于2008-4-24 20:01:54编辑过] |