《EXCEL基础攻略与实战技巧.doc》由会员分享,可在线阅读,更多相关《EXCEL基础攻略与实战技巧.doc(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、引用问题我在excel中想实现这么一个功能,如单元格D12有一个数据是4,现在我想引用A4的数据,但4是由D12提供的,即如何实现A4=A(D12)。也就是,在Excel中,A7单元,能否实现把后面的数字用算式来代替,如A(3+4),或者是单元格的嵌套,A(D12),恳请高手解答。解答:=indirect(a&d12)我的想法:借一个单元格如B4用,键入=A&D12 在需引用的单元格键入=INDIRECT(B4)即可,第二个:C4是3,C5是4 B4=A“&C4+C5 ,同。18位身份证号码输入的几种解决方法相信在EXCEL这个软件中如何输入15位或18位身份证号码的问题已经困挠了许多人,因为
2、在EXCEL中,输入超过11位数字时,会自动转为科学计数的方式,比如身份证号是:123456789012345,输入后就变成了:1.23457E+14,要解决的方法有非常非常.多种哦,呵呵,现在为大家说几种比较简单快速的方法: 1、在A1单元输入号码时,在前面先输入号,就是:123456789012345,这样单元格会默认为该单元为文本方式,会完整显示出15个号码来,而不会显示那令人讨厌的科学计数方式来了。 2、如果已经输入了大量的号码,全部以科学计数显示的话,而又懒的按照上面的方法一个一个的重新输入的话,也有这个好方法哦,比如已在单元A1:A100输入了号码,按以下步骤做:选择单元A1:A1
3、00单击鼠标右键,设置单元格式选择自定义,在类型中输入0即可,轻松搞定,呵呵! 3、还有一种用函数来解决的方法:在A1:A100已经输入大量的号码时,在B1单元中输入:=trim( a1),注意两个之间是空格,这个公式的意思:先在A1单元15位号码前加个空格符号,然后用trim这个函数把空格符号去掉。输完后,B1单元也是显示出完整的15位数字了。如何在一列列出工作薄中的所有表(表名无规律)以下宏将在a列传回所有工作表名称。(很实用)Sub Maco1()For i = 1 To Sheets.CountCells(i, 1) = Sheets(i).NameNextEnd Sub用counti
4、f算出数值大小在5060之间的单元格个数解答:你可以综合一下呀! =countif(a1:a9,=50)-countif(a1:a9,60)=SUM(a1:a950)为什么=SUM(a1:a950)可以求出符合条件的个数,按理后面应再加一待求和区域如B1:B9等等,不知数组计算的内部机制是怎样的,不知谁能给个解释,谢谢!这个数组公式是这样运算的: a1:a9区域的数值分别与60比较。假如a1:a9的数依次为15,25,35,45,55,65,75,85,95.那么(a1:a950)返回false,false,false,false,true,true,true,true,true。然后(a1:
5、a950)则返回false,false,false,false,true,false,false,false,false。因为*表示and的意思。只有当and的对象都为真时结果才为真。excel里用1表示true;0表示 false。有时需要将true或false转换成数值,可以*1或+0几个工作表生成一个打印文件一次打印解答:先按 Ctrl键 + 其它要一起打印的工作表 就会成为一个群组,打印的页数可延续到下一个Sheet自动计算应收款滞纳金要求在给定的应收日期、滞纳金率、当前日期(自动取)的基础上自动计算出应收滞纳金。解答:=(DATEDIF(应收日期,NOW(),d)*滞纳金率(每天)*
6、应收金额SUM函数难题AB234230121013如何用函数计算出下面几个数据1。A和B都有数据且AB的个数2。A栏在相应的B栏有数据的情况下的数据总和,例如A1对应B1有数据,A3对应B3有数据,则求A1+A3的和。希望都能用一个函数求出所要的结果。谢谢解答:=SUM($A$1:$A$10)*($B$1:$B$10)*($A$1:$A$10$B$1:$B$10)=SUM($A$1:$A$10)*($B$1:$B$10)*($A$1:$A$10$B$1:$B$10)*($A$1:$A$10+$B$1:$B$10)记得输入公式后要按ctrl+shift+enter工作表中的小写字母都变成大写解答
7、:请运行以下程序:(测试通过)Sub ConvertToUpperCase()Dim Rng As RangeWorksheets(Sheet1).UsedRange.SelectFor Each Rng In Selection.CellsIf Rng.HasFormula = False ThenRng.value = UCase(Rng.value)End IfNext RngEnd Sub用COUNTIF计算整个B列中含有“F”这个字符的单元格的个数c1=COUNTIF(b1:b130,b129),(b129单元格内的字符是“F”),问题是随后在向表格中添加新行131、132、133.
8、之后,c1单元格中公式统计的结果还是1-129行的,怎么才能让c1中实时显示添加新数据后的统计结果?解答:c1=COUNTIF(b:b,b129)自动记录出车情况现有一表格,每天记录50辆不同车号的车辆的“出车里程”和“回库里程”,需要打印一清单,自动统计每辆在库车辆的当前里程,请问该如何做 (结果放在其它sheet中,为方便显示这里和数据放在一个sheet中了) ?解答:可以用数组公式: 假设此处数据不断增加所在工作表的名字为SHEET1. 在此处需要更新所指的单元格内输入公式=MAX(IF(OFFSET(Sheet1!$A$2,COUNTA(Sheet1!$A$2:$A$65536)=A2
9、,OFFSET(Sheet1!$B$2,COUNTA(Sheet1!$B$2:$B$65536),按CTRL+SHIFT+ENTER 结束,之后向下填充公式. 整点记录坐标值我在监测一个点的电压值,每天正点记录一次,这样每天就产生了24个值,现要进行一个月,共产生了720个值。根据这720个值,用EXCEL作一个图表,横坐标是时间,单位是-天,纵坐标是测量值。难点:横坐标每个刻度为一天,如设分类轴刻度线之间的分类数为24 的话,横坐标每个刻度下显示为:1 25 49,而其单位为天,那不就成了第1天过了,就到了第25天?如设分类轴刻度线之间的分类数为1的话,可是我每天有24个值?解答:我试验了一
10、下,发现还是能够解决的。横坐标为时间,每天24小时,一个月30天,共计720个数据,纵坐标为数值,这样做出来的表格非常长,数据这样排,第一列(0小时,1小时,.23小时,0小时,1小时,.23小时,)这样总共重复30天,第二列为每天24个数据,做折线图(第四种),先按照向导一步步做下去,删除第一个系列,就可以了。做出来的图像横坐标(分类轴)要调整,刻度调整为标签间的分类数为1,就可以达到目的!剩下可以手工在每天的开头处加上日期(可以用文本框),不知道这样解决可以吗?请问如何把在Excel中绘制的曲线图表另存为jpg或gif格式的图片解答:选定图表部分,复制它,打开可以编辑jpg或gif格式的软
11、件,然后粘贴保存为jpg或gif格式文件即可。round函数解答:不要用工具条上的显示小数位数来控制小数位数,它只是显示这几位,实际还是按原来的数计算。如:1.2345,你显示两位,为1.23,而实际他是按1.2345去计算的,要用round函数,round(数据,2)即可。如果怕繁的话,可在选项里设置按显示计算,呵呵,试试看。解答2:我是做财务工作的,这一点有较深的体会 就是无论用什么函数都要在最外面加上 round(),不然的话因为那一两分钱定会被领导狠狠说一顿 再有两条经验 1、如果准备作大一些的表格,尽量不要使用 “合并单元格” 以免以后使用函数麻烦; 2、要分清你作的表格主要是使用来
12、存储数据,还是用来打印输出,如果想两者兼顾,小一点的表格还可以,大了就不好办了。工作表引用比如说现在Sheet2!a1引用Sheet1!a1,Sheet3!a1引用Sheet2!a1,那么有什么办法可以表示Sheet(n)!a1引用Sheet(n-1)!a1。我是Execl方面的菜鸟,希望各位大虾能给我解决的方法或者思路也行啊。解答1:用VBA.Sheets(n).Cells(a, 1) =Sheets(n-1).Cells(a, 1)又问:ActiveCell.FormulaR1C1 = =SUM(RC-2:RC-1,_!R-1C) .在_处,我应该怎么填,才可以得到上一张表格?答:在空格处
13、写上: sheets(activesheet.index-1) .注意如果当前工作表是第一张(即 activesheet.index-10)时会出错。或:=INDIRECT(sheet&A1&!$A$1)汇总有这样一个问题,学校里共有24个科目(每个科目都有其代码,每门科目都有它相应的教材费),但学生最多只能选其中门科目,那么我在一个表里每个记录中存储学生所选的门科目的代码,并要在该表里汇总门科目的总教材费,怎么汇总。(各门科目代码及对应的教材费存在另一个表里)。解答:你可以这样: 1,表2: 序号 科目 教材费 /1 语文 120 /2 数学 100 /3 英语 150 /4 政治 70 /
14、5 历史 110 /6 地理 90 /7 物理 250 /8 化学 180 2,表1: 姓名 科目1 科目2 科目3 科目4 教材费合计/赵 1 2 3 4 440* /钱 2 3 4 5 430 /孙 3 4 5 6 420 /李 4 5 6 7 520 /张 5 6 7 8 630 .其中教材费单元格(打*号处,即F2)公式如下: =VLOOKUP(B2,Sheet2!A:C,3)+VLOOKUP(C2,Sheet2!A:C,3)+VLOOKUP(D2,Sheet2!A:C,3)+VLOOKUP(E2,Sheet2!A:C,3) 。其下单元格复制公式。在EXCEL2000中可否实现票面分解
15、解答:我在excel 中试验了一下,发现票面分解还是比较简单的,下面是我的做法: A B C D 1 票面金额 655389.26 /2 面值 张数 余额 /3 100 6553(公式为:int(b1/a3) 89.26(公式为:b1-c3*a3) /4 50 1(公式为:int(d3/a4) 39.26(公式为:D3-A4*C4) /5 20 1 19.26 /6 10 1 9.26 /7 5 1 4.26 /8 2 2 0.26 /9 1 0 0.26 /10 0.5 0 0.26 /11 0.2 1 0.06 /12 0.1 0 0.06 /0.05 1 0.01 /0.02 0 0.0
16、1 /0.01 1 0.00 /第五行以下的数据就不需要一一输入了,选中C列和D列(C4:D15),按ctrl+D,结果就出来了。年龄及奖学金问题打开Excel工作表,建立如下表格所示的表格: A B C D E F G H I J K L M 姓名 性别 生日 年龄 年级 语文 数学 外语 政治 平均 工资 奖励 总额 王明 男 2 89 98 92 87 1 设置生日为11-28-1998的形式,并根据生日计算出学生的年龄。 /2 对平均分=90分,80=平均分90,60=平均分0,CHOOSE(E2,80,100,110),) (注意学生年级在E列) 3. 奖励: =IF(J2=90,$
17、N$5,IF(J2=80,$N$6,IF(J2=60,$N$7,) (平均分在J列) 隔行求和问题若有20列(只有一行),需没间隔3列求和,该公式如何做?前面行跳跃求和的公式不管用。解答:假设a1至t1为数据(共有20列),在任意单元格中输入公式:=SUM(IF(MOD(TRANSPOSE(ROW(1:20),3)=0,(a1:t1) /按ctrlshiftenter结束即可求出每隔三行之和。在EXCEL里取数值的一部分用什么函数打比方说有一个数字123456,我只想取它的后三位,也就是说只需要456,应该用什么函数。解答:假设A1的值为123456, 用=RIGHT(a1,3)可以取其后三位
18、./你如果想取其中的几位,不妨试试mid函数。用什么函数可以插入字符00020304T0239 0400020304T0239 /00020404T0211 0400020404T0211 /00020604T0199 0400020604T0199 /00020704T0216 0400020704T0216 /00021304T0241 0400021304T0241 /00021404T0222 0400021404T0222 /00021504T0222 0400021504T0222 /00021704T0139 0400021704T0139 /就像上表一样,怎样用第一列的数据形成
19、第二列的数据,即在特定位置加上几个相同字符串?解答:b1=04& a1问:哪如果倒过来呢?答:用公式A1=MID(B1,3,13)或A1=SUBSTITUTE(B1,04,1)将文件保存为以某一单元格中的值为文件名的宏怎么写解答:假设你要以Sheet1的A1单元格中的值为文件名保存,则应用命令: ActiveWorkbook.SaveCopyAs Str(Range(Sheet1!A1) + .xls A1是文本串的话,使用这条命令: ActiveWorkbook.SaveAs Range(A1) & .xls 。当然,如果你的A1是路径,F1是文件名的话,可以这样写: ActiveWorkb
20、ook.SaveAs Range(A1) & Range(F1) & .xls求余数的函数比如:A1=28,A2=(A16)的余数=4,请问这个公式怎么写?解答:=MOD(28,6)评委评分解答:用两个函数可解决:rank(排高低)average(求平均)。也可以用:=(SUM($B$1:$B$10)-SUM(LARGE($B$1:$B$10,ROW($A$1:$A$2)-SUM(SMALL($B$1:$B$10,ROW($A$1:$A$2)/(COUNT($B$1:$B$10)-4)(可以解决有多个最高和最低分的问题)。数据校对已知:A2=SUM(A3:A20),B2=SUN(B3:B20)
21、,C2=SUM(C3:C20),D2=SUM(d3:d20),E2=SUM(E3:E20)、又知A2=B2+C2=D2+E2 。需要解决的问题:当B2+C2或者D2+E2不等于A2时,系统自动提示错误,请各位高手给予指点,是否一定要通过宏才可以解决,有没有更简单的办法?解答:=IF(AND(B2+C2=SUM(A3:A20),D2+E2=SUM(A3:A20),SUM(A3:A20), : ()如何在一个单元格中自动输入在另外一个单元格中输入的文字解答:a2中输入a1的文字,则a2=indirect(a1)在表格中查找我需要的东西并把该行所有的数据反映到另外的表格中去解答:比如找表A中B列数值
22、等于5的数。在表B中的A1单元输入:=VLOOKUP(5,A!B1:B4,1)在EXCEL表里建立唯一索引在该列输入重复的数值后自动提示输入错误解答:1、选定你要限制输入的列(假设是A2:A20),选菜单的“数据”“有效性”; 2、在许可条件中选定“自定义”,在公式一拦中,输入你要求的限制, 例如:“=COUNTIF($A$2:$A$20,A2)=1 ”。3、你还可以在“输入信息”和“出错信息”输入一些提示信息。不过,你一定要注意!这个功能只能在你从键盘上键入数据时有效!拷贝和粘贴数据的操作是无效的。发票小写金额填充我输入123456.52它自动给拆成¥1 2 3 4 5 6 5 2 的形式并
23、且随我输入的长度改变而改变?解答:我所知函数不多,我是这样做的,如有更方便的方法,请指点 例如: 在A1输入小写金额,则: 千万:B1=IF(A1=10000000,MID(RIGHTB(A1*100,10),1,1),IF(A1=1000000,¥,0) 百万:C1=IF(A1=1000000,MID(RIGHTB(A1*100,9),1,1),IF(A1=100000,¥,0) 十万:D1=IF(A1=100000,MID(RIGHTB(A1*100,8),1,1),IF(A1=10000,¥,0) 万:E1=IF(A1=10000,MID(RIGHTB(A1*100,7),1,1),IF
24、(A1=1000,¥,0) 千:F1=IF(A1=1000,MID(RIGHTB(A1*100,6),1,1),IF(A1=100,¥,0) 百:G1=IF(A1=100,MID(RIGHTB(A1*100,5),1,1),IF(A1=10,¥,0) 十:H1=IF(A1=10,MID(RIGHTB(A1*100,4),1,1),IF(A1=1,¥,0) 元:I1=IF(A1=1,MID(RIGHTB(A1*100,3),1,1),IF(A1=0.1,¥,0) 角:J1=IF(A1=0.1,MID(RIGHTB(A1*100,2),1,1),IF(A1=0.01,¥,0) 分:K1=IF(A1
25、=0.01,RIGHTB(A1*100,1),0) (编者注:公式中最后一个0应改为)排列问题已知1,2,3,4共4个数字符号构成的4位数的全排列有256个,如:1234,2341,3245等等,现在我需要将这256个数字全部列出,如果用手写笔算的话既麻烦又容易出错,不知可否用Excel来解决这个问题? 解答:在单元格输入公式“=1111+1000*INT(ROW()-1)/64)+100*MOD(INT(ROW()-1)/16),4)+10*MOD(INT(ROW()-1)/4),4)+MOD(ROW()-1,4)”拖放到A256。在条件语句中如何实现符合某个时期的条件的记录进行统计比如有1
26、-12月份的记录单,需要实现对每个月里些数据的统计汇总/(格式如何?)解答:以下公式,A列为日期列,B列为数据,要求计算1月份的累计: =SUM(IF(MONTH(A:A)=1,B:B,0) 此为数组公式,在输完公式后,不要ENTER,而要CTRL+SHIFT+ENTER.行改列(不是转置问题)1. 原内容为行(每行5列内容共几千行): 列1 列2 列3 列4 列5 行1 1 2 3 4 5 /行2 1 2 3 4 5 /行3 1 2 3 4 5 /以下类同 / 2. 改为行排列(每12行5列内容共12组,排为一行) 列1 列2 列3 列4 列5 列6 列7 列8 列9 列10 (60列) 原
27、1-12行 1 2 3 4 5 1 2 3 4 5 (60列) /原13-24行 1 2 3 4 5 1 2 3 4 5 (60列) /原25-36行 1 2 3 4 5 1 2 3 4 5 (60列) /以下类推 本人不会编写宏,让您见笑曾费劲手工移动录制了一个取2400行(每行5列内容)改列的宏。因原有工作表行不断增加,经常需要行改列作其它用途,录制的宏不能满足需要。烦请大家帮助写一自动循环取12行5列内容排列为一行的宏。 规律: 1. 1-12行1-5列内容排在第1行(第一行1-5列、第二行1-5列、类推,完成为60列) 2. 13-24行1-5列内容排在第2行(第13行1-5列、第14
28、行1-5列、类推) 3. 25-36行1-5列内容排在第3行(第25行1-5列、第26行1-5列、类推) 4. 以下类推 解答:Sub 转换() Dim numcol As Integer Dim numrow As Long Dim i As Long Dim x As Integer Dim numperrow As Integer numperrow = InputBox(请输入每行要填的数据行的数目:) Range(数据).Select numrow = Selection.Rows.Count 数据区的行数 numcol = Selection.Columns.Count 数据区的列
29、数 x = numperrow * numcol Range(a1).Select For i = 1 To numrow 以数据的每一行为单位进行剪切 Range(数据).Rows(i).Cut ActiveSheet.Paste Selection.Offset(, numcol).Select If (i Mod numperrow) Then 判断是否要换行 Else: Selection.Offset(1, -x).Select End If Next i End Sub 本程序需要把要变换的数据命名为数据(数据区的列数可以任意,不一定是5)方法:选中该区域,在名称框内输入数据即可,
30、然后按程序要求输入每行要填的数据行的数目(如本例中的12)如何给自动筛选中的自定义指定快捷键解答:Sub 自动筛选() On Error GoTo xx Selection.AutoFilter = True xx: End Sub汇总问题本人有以下一个问题需要解决,请诸位大虾指点迷津。 如下表: ABC 150采购(采购汇总) /260工程(工程汇总) /380工资(工资汇总) /4100税(税汇总) /570采购 /650工资 /760工程 /. . . /请问:C1、C2、C3、C4中的公式如何设置?解答:方法1:如下表: ABC 150采购=countif(a1:a7,采购) /260
31、工程=countif(a1:a7,工程) /380工资=countif(a1:a7,工资) /4100税 =countif(a1:a7,税) /570采购 /650工资 /760工程 /. . . 方法2:用如下方法才对: ABC 150采购=SUMIF(B1:B7,B1,A1:A7) 260工程=SUMIF(B1:B7,B2,A1:A7) /380工资=SUMIF(B1:B7,B3,A1:A7) /4100税 =SUMIF(B1:B7,B4,A1:A7) /570采购 /650工资 /760工程 方法3:由于栏属于数据表的一部分,可能会随时改变,故此最好把采购等项目名称抄到另外一个地方(栏)
32、。 ABCD 150采购采购=SUMIF(B$1:B$7,C1,A$1:A$7) /260工程工程=SUMIF(B$1:B$7,C2,A$1:A$7) /380工资工资=SUMIF(B$1:B$7,C3,A$1:A$7) /4100税 税=SUMIF(B$1:B$7,C4,A$1:A$7) /570采购 /650工资 /760工程 /还有,记着要适当地使用绝对参照地址 (Absolute referencing)。方法4:ABCD 150采购采购=SUMIF(B:B,C1,A:A) /260工程工程=SUMIF(B:B,C2,A:A) /380工资工资=SUMIF(B:B,C3,A:A) /4
33、100税 税=SUMIF(B:B,C4,A1:A) /570采购 /650工资 /760工统计包含某个字符的个数我想编的公式是: a/84 - (b4) 。其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。这个公式的关键是要统计出包含字符C的单元格的个数。解答:方法1:=a/(84-countif(b,=c)*4)问题:我试了一下,不能运行,我想是因为没有指定出现“c”的单元格的范围。比如说“c”在D2D30中随机出现,在上述公式中要先统计出出现“c”的单元格的个数。这个公式如何做?解答: =a/(84-COUNTIF(D3:D30,c)*4) 如何用if函数判断,
34、如果a1单元格大于0,b1单元格为0是错误,为非0是正确解答:1:if(and(a0,if(b1=0,错误,正确),条件一不满足)我改进以下一个验证先进先出法公式=IF(B3C1,IF(SUM(B3:B4)C1,IF(SUM(B3:B5)C1,IF(SUM(B3:B6)B1,IF(SUM(B3:B7)C1,out of range,(B3*C3+B4*C4+B5*C5+B6*C6+(C1-SUM(B3:B6)*C7)/C1),(B3*C3+B4*C4+B5*C5+(C1-SUM(B3:B5)*C6)/C1),(B3*C3+B4*C4+(C1-SUM(B3:B4)*C5)/C1),(B3*C3+
35、(C1-B3)*C4)/C1),C4) B3至B7为输入数量,C3至C7为输入单价,C1为输入结余数量,E1为输出平均单价,即上面公式 解答:公式太复杂,而且受限制。 把A列利用起来,a3=SUM(B3:$B$7),拖至7行(若为X行,则=SUM(B3:$B$X,下拖),A列数据为先进先出的累计数量(待Match的结存数量),=MATCH(C1,A3:A7,-1)找到结存批次。然后计算结存平均单价及发出平均单价。有无简结一点的公式求如:a1*b1+a2*b2+b3*b3.的和解答:在B4中输入公式=SUM(A1:A3*B1:B3),按CTRL+SHIFT+ENTER结束.或:=SUMPRODU
36、CT(A1:A10,B1:B10)工作中须将表格中大量的日期同时转换为中英文的星期几解答:转成英文: =TEXT(WEEKDAY(A1),dddd) 转成中文: =TEXT(WEEKDAY(A1),aaaa)我想查询表格中的某一列编号中有221这一编号时,引用其同行某列的数值我现用 VLOOKUP(221,A1:E33,5,0)这一公式引用其同行第5列的数值时可以使用,但当查询到没有 221 时,想使其返回值为“0”不知如何处理。解答:=if(iserror(vlookup()=true,0,vlookup()如何给自定义函数写上帮助信信息和参数说明解答:目前自定义函数是不能做到完全象内置函数
37、一样的。但是可以给它添加一段说明。 打开带有自定义函数的工作簿-按快捷键 Alt+F8在光标处输入函数名字单击“选项”输入说明文字。如何在EXCEL中统计一个数在哪一行出现解答:=IF(ISERROR(SMALL(IF(R1C1:R16C1=R1C2,ROW(R1C1:R16C1),),ROW()-1),SMALL(IF(R1C1:R16C1=R1C2,ROW(R1C1:R16C1),),ROW()-1)在SHEET51的A1做公式加总SHEET1:SHEET50的A1怎么做啊解答:=SUM(Sheet1:Sheet50!A1)工作表间的数据输入我想在sheet1中输入数据,例如我先在A1中输
38、入1,确定是输入第一个单位的数据,然后从A2开始是第一个单位的数据。输入完成后,在SHEET2中的第一个单位数据就显示出来了,我的问题是,我想用SHEET1表再输入第二个单位的数据,但是这时SHEET2中第一个单位的数据没有了,显示是第二个单位的数据,如何才能保存第一个单位的数据,又能用SHEET1再输入第二个、第三个单位的数据?解答:=IF(户汇总!$B$31,户汇总!B5)请问如何用公式达到我想要的结果A列 B列 C列 1 a 2 a 3 a 1 b 4 b 我想当B2=B3,而且A2=1时,C2的值为OK,请问该如何写这个公式?解答:=IF(AND(B2=B3,A2=1),OK,)一个页
39、面在打印一次后是否能在上面的某一单元格数值上加1解答:可使用 Workbook 的 Before_Print 事件. 按 Alt + F11 进入 VB Editor, 左侧会有一个 ThisWorkbook, (如果没有, 按 Ctrl+R 叫出) 在 ThisWorkbook 快按两下, 贴上程序 - Private Sub Workbook_BeforePrint(Cancel As Boolean) A1 = A1 + 1 End Sub 不用VBA,用EXCEL语句的IF函数,如何使用其条件关系假如,现在A1,A2,A3;B1,B2,B3 只要B1 不为空B1“”,那么B2A2B3A
40、3 如何使用其IF语句来实现?解答:B2=IF($B$1,$A2) B3=IF($B$1,$A3)求和问题对于工作表中的数据库,随便举一例: 编 号 数 量1 数 量2 01 180 80 02 190 90 01 170 80 01 160 80 我如何计算(数量1-数量2)值的总和.并且必须满足编号相同时, 只能减一次 数量2. 即要计算成: (180+170+160-80)+(190-90). 注: 编号相同时,数量2的值一定相同.解答:设表格在A1:C5中 =SUMIF(A2:A5)-INDEX(C1:C5,MATCH(01,A1:A5,0)-INDEX(C1:C5,MATCH(02,
41、A1:A5,0) 排名问题在A1:F6区域有下面一个表格: 班级 姓名 政治 语文 数学 总分 1 小东 90 90 90 270 /2 明明 95 92 90 277 /3 小英 96 89 91 276 /4 小刘 95 90 92 277/5 小红 95 91 92 278 /要在K1:K3的单元格中分别显示总分最高的同学的班级、姓名、总分,在L1:L3的单元格中分别显示总分第二的同学的班级、姓名、总分,在M1:M3的单元格中分别显示总分第三的同学的班级、姓名、总分 ,注意期中277分的有两人,不要出现第二名与第三名都是明明的结果.解答:定义A2:A6区域为班级 ;定义B2:B6区域为姓
42、名;定义F2:F6区域为总分 K1=INDEX(班级,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1),总分+1-ROW(总分)/100,0) L1=INDEX(姓名,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1),总分+1-ROW(总分)/100,0) M1=INDEX(总分,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1),总分+1-ROW(总分)/100,0) 注:只要向下复制,便可得到16名的情况了。该公式可以无限排列。另注:这是数组公式,不需要输入“”,在输完公式后,请按ctrl+shift+enter,
43、应将后面的100改成100000,比较好。统计满足条件的数据并生成新的数据列A B C 427 8 427/612 8 612 /924 8 924 /22 16 409 /94 16 /620 16 /955 16 /409 8 /请问:假定有如上两列数据A和B,现在想要统计满足条件B8的 ,并且在C列自动生成数据,我不懂公式怎么写,我知道筛选能够做到,但是由于数据量比较大 ,想做一个模板,免去一些重复劳动。解答:=IF(ROW($A1)COUNTIF($B$1:$B$8,8),INDEX($A$1:$A$8,MATCH(SMALL(IF($B$1:$B$8=8,0,1)+ROW($B$1:
44、$B$8)/100000,ROW ($A1),IF($B$1:$B$8=8,0,1)+ROW($B$1:$B$8)/100000,0)争议:B栏有100个选取条件,公式要修改100次,有甚么灵活性?给字段名称 ,插入头两列 ,B1=SUBTOTAL(9,B4:B65536)。解决掉所有问题 。控件找自动筛选要 辩解:不需要修改公式,直接复制就行了。如果是100个,开始时就将范围修改好就行了。工作表间的查找与复制我的工作是在一个2000多个员工的纪录(包括各种资料,如身份证号,工作记录等)的excel工作表A中查找另一份200多个员工名单,把员工在A表中的各项纪录复制到另一个表上去,我听说用vba可以很容易的简化大量的复制工作,不知哪位高手可以指点指点?解答:如下表sheet1的内容 a b c 姓名 工号 部门 张三 100 mm /李四 101 mm2 /. 表sheet2 a b c 姓名 部门 /