excel2010,如何让会计专用格式负数显示带有负号的数是负数,而不是括号?

查看: 1255|回复: 2
为什么我的数字格式里面没有 (负数) 这个格式?就是对于负数自动打括号-有截图
阅读权限20
在线时间 小时
& & & & & & & &
请看截图 没有默认的负数打括号的格式
(17.87 KB, 下载次数: 38)
12:51 上传
阅读权限95
在线时间 小时
要么是bug,可以自定义设置一下。
阅读权限50
在线时间 小时
& & & & & & & &
自定义格式改成试试看
0.00_);[红色](0.00)复制代码
最新热点 /1
本活动是由微软(中国)有限公司发起,申请通过者可以得到Office 365企业级E3 试用账号,并享有全套Office 365客户端及云端高效、协作办公体验。 机会有限,先到先得!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师[转载]《Excel问题集合》
我在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 ,同①。
(表名无规律)
以下宏将在a列传回所有工作表名称。(很实用)
Sub Maco1()
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
位身份证号码输入的几种解决方法
相信在EXCEL这个软件中如何输入15位或18位身份证号码的问题已经困挠了许多人,因为在EXCEL中,输入超过11位数字时,会自动转为科学计数的方式,比如身份证号是:345,输入后就变成了:1.23457E+14,要解决的方法有非常非常......多种哦,呵呵,现在为大家说几种比较简单快速的方法:
  1、在A1单元输入号码时,在前面先输入’号,就是:’345,这样单元格会默认为该单元为文本方式,会完整显示出15个号码来,而不会显示那令人讨厌的科学计数方式来了。
  2、如果已经输入了大量的号码,全部以科学计数显示的话,而又懒的按照上面的方法一个一个的重新输入的话,也有这个好方法哦,比如已在单元A1:A100输入了号码,按以下步骤做:》选择单元A1:A100》单击鼠标右键,设置单元格式》选择自定义,在‘类型’中输入‘0’即可,轻松搞定,呵呵!!
  3、还有一种用函数来解决的方法:在A1:A100已经输入大量的号码时,在B1单元中输入:=trim('
'a1),注意两个’之间是空格,这个公式的意思:先在A1单元15位号码前加个空格符号,然后用trim这个函数把空格符号去掉。输完后,B1单元也是显示出完整的15位数字了。
countif算出数值大小在50~60之间的单元格个数
解答:①你可以综合一下呀!
=countif(a1:a9,"&=50")-countif(a1:a9,"&60")
②{=SUM((a1:a9&60)*(a1:a9&50))}
③为什么{=SUM((a1:a9&60)*(a1:a9&50))}可以求出符合条件的个数,按理后面应再加一待求和区域如"B1:B9"等等,不知数组计算的内部机制是怎样的,不知谁能给个解释,谢谢!!
④这个数组公式是这样运算的:
a1:a9区域的数值分别与60比较。假如a1:a9的数依次为15,25,35,45,55,65,75,85,95.那么(a1:a9&60)返回{true,true,true,true,true,false,false,false,false},同理(a1:a9&50)返回{false,false,false,false,true,true,true,true,true}。然后(a1:a9&60)*(a1:a9&50)则返回{false,false,false,false,true,false,false,false,false}。因为*表示and的意思。只有当and的对象都为真时结果才为真。。excel里用1表示0表示
false。有时需要将true或false转换成数值,可以*1或+0
解答:先按 Ctrl键 + 其它要一起打印的工作表就会成为一个群组,打印的页数可延续到下一个Sheet
要求在给定的应收日期、滞纳金率、当前日期(自动取)的基础上自动计算出应收滞纳金。
解答:=(DATEDIF(应收日期,NOW(),"d"))*滞纳金率(每天)*应收金额
如何用函数计算出下面几个数据
1。A和B都有数据且A&B的个数
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
解答:请运行以下程序:(测试通过)
Sub ConvertToUpperCase()
Dim Rng As Range
Worksheets("Sheet1").UsedRange.Select
For Each Rng In Selection.Cells
If Rng.HasFormula = False Then
Rng.value = UCase(Rng.value)
COUNTIF计算整个B列中含有“F”这个字符的单元格的个数
c1=COUNTIF(b1:b130,b129),(b129单元格内的字符是“F”),问题是随后在向表格中添加新行131、132、133.....之后,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,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个值?
解答:我试验了一下,发现还是能够解决的。横坐标为时间,每天24小时,一个月30天,共计720个数据,纵坐标为数值,这样做出来的表格非常长,数据这样排,第一列(0小时,1小时,......23小时,0小时,1小时,.....23小时,)这样总共重复30天,第二列为每天24个数据,做折线图(第四种),先按照向导一步步做下去,删除第一个系列,就可以了。做出来的图像横坐标(分类轴)要调整,刻度调整为标签间的分类数为1,就可以达到目的!剩下可以手工在每天的开头处加上日期(可以用文本框),不知道这样解决可以吗?
Excel中绘制的曲线图表另存为jpg或gif格式的图片
解答:选定图表部分,复制它,打开可以编辑jpg或gif格式的软件,然后粘贴保存为jpg或gif格式文件即可。
解答:不要用工具条上的显示小数位数来控制小数位数,它只是显示这几位,实际还是按原来的数计算。如:1.2345,你显示两位,为1.23,而实际他是按1.2345去计算的,要用round函数,round(数据,2)即可。如果怕繁的话,可在选项里设置按显示计算,呵呵,试试看。
&解答2:我是做财务工作的,这一点有较深的体会
就是无论用什么函数都要在最外面加上 round(),不然的话因为那一两分钱定会被领导狠狠说一顿
再有两条经验
1、如果准备作大一些的表格,尽量不要使用 “合并单元格” 以免以后使用函数麻烦;
2、要分清你作的表格主要是使用来存储数据,还是用来打印输出,如果想两者兼顾,小一点的表格还可以,大了就不好办了。
比如说现在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[-1]C)"
.在_____处,我应该怎么填,才可以得到上一张表格?
答:在空格处写上: sheets(activesheet.index-1) .注意如果当前工作表是第一张(即
activesheet.index-1=0)时会出错。
或:=INDIRECT("sheet"&A1&"!$A$1")
有这样一个问题,学校里共有24个科目(每个科目都有其代码,每门科目都有它相应的教材费),但学生最多只能选其中4门科目,那么我在一个表里每个记录中存储学生所选的4门科目的代码,并要在该表里汇总4门科目的总教材费,怎么汇总。(各门科目代码及对应的教材费存在另一个表里)。
解答:你可以这样:
序号 科目 教材费 /1 语文 120 /2 数学 100 /3 英语 150 /4 政治 70 /5 历史 110 /6 地理 90
/7 物理 250 /8 化学 180
姓名 科目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中可否实现票面分解
解答:我在excel 中试验了一下,发现票面分解还是比较简单的,下面是我的做法:
1 票面金额
/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.01
/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&=平均分&80的奖励金额数放在单元格N5..N7中,请利用公式计算出每位同学赢得的奖金。
1年级学生工资为80元,2年级工资为100元,3年级工资为110元,请计算出每位同学的工资数,并根据工资数和奖励数计算每位同学的工资总额。
计算年龄:=INT(((YEAR(NOW())-YEAR(C2))*12+MONTH(NOW())-MONTH(C2))/12)
(注意学生生日在C 列)
2. 计算工资: =IF(LEN(E2)&0,CHOOSE(E2,80,100,110),"")
(注意学生年级在E列)
=IF(J2&=90,$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))
/按ctrl+shift+enter结束即可求出每隔三行之和。
EXCEL里取数值的一部分用什么函数
打比方说有一个数字123456,我只想取它的后三位,也就是说只需要456,应该用什么函数。
解答:假设A1的值为123456,
用=RIGHT(a1,3)可以取其后三位./&你如果想取其中的几位,不妨试试mid函数。
9 T04T404T0211
/9 T04T704T0216
/1 T04T404T0222
/2 T04T704T0139
/就像上表一样,怎样用第一列的数据形成第二列的数据,即在特定位置加上几个相同字符串?
解答:&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是文件名的话,可以这样写:
ActiveWorkbook.SaveAs Range("A1") & Range("F1")
比如:A1=28,A2=(A1&6)的余数=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),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列数值等于5的数。在表B中的A1单元输入:=VLOOKUP(5,A!B1:B4,1)
EXCEL表里建立唯一索引在该列输入重复的数值后自动提示输入错误
解答:1、选定你要限制输入的列(假设是A2:A20),选菜单的“数据”-“有效性”;
2、在许可条件中选定“自定义”,在公式一拦中,输入你要求的限制, 例如:“=COUNTIF($A$2:$A$20,A2)=1
3、你还可以在“输入信息”和“出错信息”输入一些提示信息。
不过,你一定要注意!这个功能只能在你从键盘上键入数据时有效!拷贝和粘贴数据的操作是无效的。
我输入它自动给拆成&# 3 4 5 6 5 2 的形式并且随我输入的长度改变而改变?
&解答:我所知函数不多,我是这样做的,如有更方便的方法,请指点
在A1输入小写金额,则:
千万:B1=IF(A1&=,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(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&=0.01,RIGHTB(A1*100,1),0)
(编者注:公式中最后一个0应改为"")
已知1,2,3,4共4个数字符号构成的4位数的全排列有256个,如:,3245等等,现在我需要将这256个数字全部列出,如果用手写笔算的话既麻烦又容易出错,不知可否用Excel来解决这个问题?
解答:在单元格输入公式“=*INT((ROW()-1)/64)+100*MOD(INT((ROW()-1)/16),4)+10*MOD(INT((ROW()-1)/4),4)+MOD(ROW()-1,4)”拖放到A256。
比如有1-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列)
原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行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 '数据区的列数
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
'本程序需要把要变换的数据命名为"数据"(数据区的列数可以任意,不一定是5)方法:选中该区域,在名称框内输入"数据"即可,然后按程序要求输入每行要填的数据行的数目(如本例中的12)
解答:Sub 自动筛选()
On Error GoTo xx
Selection.AutoFilter = True
本人有以下一个问题需要解决,请诸位大虾指点迷津。
  如下表:
   A   B     C
 1 50  采购  (采购汇总) / 2 60  工程  (工程汇总) / 3 80  工资  (工资汇总)
/ 4 100  税   (税汇总) / 5 70  采购   / 6 50  工资   / 7 60  工程 /. . .
/请问:C1、C2、C3、C4中的公式如何设置?
&解答:方法1:如下表:
   A   B     C
 1 50  采购  =countif(a1:a7,"采购") / 2 60  工程  =countif(a1:a7,"工程")
/ 3 80  工资  =countif(a1:a7,"工资") / 4 100  税   =countif(a1:a7,"税")
/ 5 70  采购   / 6 50  工资   / 7 60  工程 / . . .
方法2:用如下方法才对: 
  A   B     C
 1 50  采购  =SUMIF(B1:B7,B1,A1:A7)
 2 60  工程  =SUMIF(B1:B7,B2,A1:A7)
/ 3 80  工资  =SUMIF(B1:B7,B3,A1:A7) / 4 100  税  
=SUMIF(B1:B7,B4,A1:A7) / 5 70  采购   / 6 50  工资   / 7 60  工程
 方法3:由于B栏属于数据表的一部分,可能会随时改变,故此最好把采购等项目名称抄到另外一个地方(C栏)。
  A   B     C    D
 1 50  采购  采购  =SUMIF(B$1:B$7,C1,A$1:A$7)
/ 2 60  工程  工程  =SUMIF(B$1:B$7,C2,A$1:A$7)
/ 3 80  工资  工资  =SUMIF(B$1:B$7,C3,A$1:A$7) / 4 100  税  
税   =SUMIF(B$1:B$7,C4,A$1:A$7) / 5 70  采购   / 6 50  工资   / 7 60  工程
/还有,记着要适当地使用绝对参照地址 (Absolute referencing)。
A   B     C    D
 1 50  采购  采购  =SUMIF(B:B,C1,A:A)
/ 2 60  工程  工程  =SUMIF(B:B,C2,A:A)
/ 3 80  工资  工资  =SUMIF(B:B,C3,A:A) / 4 100  税  
税   =SUMIF(B:B,C4,A1:A) / 5 70  采购   / 6 50  工资   / 7 60  工
我想编的公式是: a/[84 - (b&4)]
。其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。这个公式的关键是要统计出包含字符C的单元格的个数。
&解答:方法1:=a/(84-countif(b,"=c")*4)
问题:我试了一下,不能运行,我想是因为没有指定出现“c”的单元格的范围。比如说“c”在D2—D30中随机出现,在上述公式中要先统计出出现“c”的单元格的个数。这个公式如何做?
解答: =a/(84-COUNTIF(D3:D30,"c")*4)
if函数判断,如果a1单元格大于0,b1单元格为0是错误,为非0是正确
&解答:1:if(and(a&=0,b=0),"错误","正确")
2:=if(a1&0,if(b1=0,"错误","正确"),"条件一不满足")
=IF(B3&C1,IF(SUM(B3:B4)&C1,IF(SUM(B3:B5)&C1,IF(SUM(B3:B6)&B1,IF(SUM(B3:B7)&C1,"out
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+(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结束.
&或:=SUMPRODUCT(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())
解答:目前自定义函数是不能做到完全象内置函数一样的。但是可以给它添加一段说明。
打开带有自定义函数的工作簿-〉按快捷键 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中输入1,确定是输入第一个单位的数据,然后从A2开始是第一个单位的数据。输入完成后,在SHEET2中的第一个单位数据就显示出来了,我的问题是,我想用SHEET1表再输入第二个单位的数据,但是这时SHEET2中第一个单位的数据没有了,显示是第二个单位的数据,如何才能保存第一个单位的数据,又能用SHEET1再输入第二个、第三个单位的数据?
解答:=IF(户汇总!$B$3&&1,"",户汇总!B5)
A列 B列 C列
我想当B2=B3,而且A2=1时,C2的值为OK,请问该如何写这个公式?
解答:=IF(AND(B2=B3,A2=1),"OK","")
&解答:可使用 Workbook 的 Before_Print 事件.
按 [Alt + F11] 进入 VB Editor,
左侧会有一个 [ThisWorkbook],
(如果没有, 按 [Ctrl+R] 叫出)
在 [ThisWorkbook] 快按两下, 贴上程序 --
Private Sub Workbook_BeforePrint(Cancel As Boolean)
[A1] = [A1] + 1
VBA,用EXCEL语句的IF函数,如何使用其条件关系
假如,现在A1,A2,A3;B1,B2,B3
只要B1 不为空B1<>“”,那么B2=A2 B3=A3
如何使用其IF语句来实现??
&解答:B2=IF($B$1&&"",$A2)
B3=IF($B$1&&"",$A3)
对于工作表中的数据库,随便举一例:
编 号 数 量1 数 量2
我如何计算(数量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",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区域为姓名;定义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))}
注:只要向下复制,便可得到1~6名的情况了。该公式可以无限排列。另注:这是数组公式,不需要输入“{}”,在输完公式后,请按ctrl+shift+enter,应将后面的100改成100000,比较好。
427 8 427/612 8 612 /924 8 924 /22 16 409 /94 16 /620 16 /955 16
/409 8 /请问:假定有如上两列数据A和B,现在想要统计满足条件B=8的
,并且在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:$B$8)/100000,ROW
($A1)),IF($B$1:$B$8=8,0,1)+ROW($B$1:$B$8)/)))
争议:B栏有100个选取条件,公式要修改100次,有甚么灵活性?给字段名称 ,插入头两列
,B1=SUBTOTAL(9,B4:B65536)。解决掉所有问题 。控件找自动筛选要
辩解:不需要修改公式,直接复制就行了。如果是100个,开始时就将范围修改好就行了。
我的工作是在一个2000多个员工的纪录(包括各种资料,如身份证号,工作记录等)的excel工作表A中查找另一份200多个员工名单,把员工在A表中的各项纪录复制到另一个表上去,我听说用vba可以很容易的简化大量的复制工作,不知哪位高手可以指点指点??
解答:如下表sheet1的内容
姓名 工号 部门
张三 100 mm /李四 101 mm2 /.......
姓名 部门 /李四 /。。。
要在sheet2表中将sheet1表的相同人员资料复制过来可在b表 单元格b2中输入
”=vlookup(a2,sheet1!a1:gg2000,3,false)
最好将sheet1的数据区先定义一下
(1) 何解在公式内,运用 "比较运算符号" 时,要把数据连同比较运算符号用 "双引号"
括住,而其它算术符号就不需要?
例如:=Countif(A1:A30,"&=10")是可以接受,但不加双引号时,便遭拒绝。
(2) 又请问:如上例,要比较的数值是要参照某单元格时,公式应怎样做?
解答:这是CountIF()的规定。第二个参数为字符串,必须用双引号扩起来,除非条件是等于一个数值。
比如:=COUNTIF(A1:A30,"&=4")
=COUNTIF(A1:A30,"condition")
   =COUNTIF(A1:A30,220)
用引用作参数(假设B1值为4):
   =COUNTIF(A1:A30,"&=" & B1)
解答:视图--批注 然后在批注上单击右键 选择设置批注格式
序号 姓名 性别 年龄
1 李1 男 30 /2 李2 女 25 /3 李3 女 22/4 李4 男 31 /:: : : /99 李99 男
解答:在“序列”与“姓名”之间插入一个空列,在其第一格输入“条件”。在“条件”下面输入公式“=IF(MOD(A5,2)=1,"单数","双数")”,用“自动筛选”。
到m2) 、n3=sum(b3到m3)
、有没有办法让n那一列可以自动填充
就是说每增加一行,就会自动计算n那一列的值 、多谢!
解答:1:我有个笨方法,须用VBA,不知和你意否。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column & 14 And Cells(Target.Row,
14).Formula = "" Then Cells(Target.Row, 14).Formula =
"=SUM(RC[-12]:RC[-1])"
2:假设需要被SUM的数据存放在B列(第一个数据存放在单元格B2),将以下公式COPY到你希望显示结果的单元格中:
=IF(LEN(B2)&0,SUM(B$2:INDEX(B:B, ROW(), 1)),
切记如果B列中有空单元格隔开了需要计算的数据, 必须以零填充该单元格.
3:这个问题不用想得很复杂,就是要把n2单元格输入公式后,拖曳向下复制公式。
也许是我想得太简单了。
10行数据, 现在要每行间格2行, 要如何做
解答:1:如sheet1!$A$1:$D$10中有连续10行资料,在sheet2中把sheet1中的数据每行间隔2行
sheet2!A1中公式可用
=IF(ROW()=1,Sheet1!A1,IF(MOD(ROW(),3)=1,INDEX(Sheet1!$A$1:$D$10,INT((ROW()-1)/2)+1,COLUMN()),""))
然后填充公式(注意公式在SHEET2中的填充范围,超过范围会出错!)
=IF(MOD(ROW(),3)=1,INDEX(Sheet1!$A$1:$Z$500,INT(ROW()/3)+1,COLUMN()),"")
&解答:[数据]-[有效性]-[序列]
又问:好像选取数据只能在本页面,有无高招选取另外页面的数据源,甚至是另外工作薄的?
&解答:先在“插入-》名称”中定义好其它页面上需要引用的数据源的名称(AA)。然后
[数据]-[有效性]-[序列] ,在“数据源”栏输入“=AA”。
&或:若改其它活页薄要如何修改下列式子?( 假设活页薄名称为book1)
=Sheet1!$A$2:$A$14(book2)
有一个表格:
承兑行 天数 实际天数
深圳工行 98 101
广州交行 105 108
鞍山工行 100 100
如果“承兑行”一栏含有鞍山字样,则“实际天数”等于“天数”;如果“承兑行”一栏不含有鞍山字样,则“实际天数”等于“天数”加上3,请问:如何设置?
&解答:这个问题的重点在于如何判断是否含有“鞍山”字样。
如果“鞍山”在字符串中的位置是固定的,则很容易用MID函数找到并进行判断;
如果不是,则需要用FIND或Search函数来找到再判断。
或:如果A列中是承兑行,B列是天数,C是....
可以试用一下以下的公式:
=IF(ISERROR(FIND("鞍山",A2)),B2+3,B2)
D2&20那E2就显示$200、如果D2&30那E2就显示$300依此类推
解答:=INT(D2/10)*100
,当然,你的单元格格式设置成$格式就可以了。否则用,="$"&INT(D2/10)*100
则该单元格成字符型 。当然,你也可以用IF函数,但它有7层的限制。if (D2&30,
"300",IF(D2&20,"200"))
有两张工作表,内容都是电话号码、用户名称,怎样对两张工作表进行比较?(把第一张工作表和第二张工作表中电话号码相同的项目复制到新工作表中或加上标记)
解答:先备份工作簿。
假设SHEET1、SHEET2 两张表的结构相同,A 列为用户名,数据由第二行开始。新建SHEET3 并在其A2 单元格中输入
=IF(ISNA(MATCH(Sheet2!$A2,Sheet1!$A:$A,0))," DELET THIS ROW
",Sheet2!A2) 并向下、向右填充。
完成后SHEET3中多了SHEET2 和SHEET1 共有的用户名,以及由"DELET THIS
ROW"填充的数据行。剩下的就简单了!
解答:统计F4到F62的偶数单元格合计数值。公式一{=SUM(IF(MOD(ROW(F4:F62),2)=0,F4:F62))}
公式二 (要有安装'分析工具箱'){=SUM(IF(ISEVEN(ROW(F4:F62)),F4:F62))}
1中A列的编号提取表1中的相应数据并自动录入到表2中的对应的相关列
有两个工作表,工作表1中A列为编号,其它列为相关数据,若在工作表2中的编号列单元格中输入编号时,如何才能按表1中A列的编号提取表1中的相应数据,自动录入到表2中的对应的相关列。
&解答:利用vlookup寒暑,该函数的用处就是把一个数据区域当成数据库,并利用条件检索相关纪录。
有了这点认识就非常简便了!在表2的单元格中输入下面的公式:
=vlookup(编号,表1!有关数据区域,第n列,false)
解释: 1、编号——不需要输入,主要是编号的相对引用。例如:
编号在b2,公式在c2,则编号为:b2
2、有关数据区域——必须是绝对引用,也就是数据区的行列要用$符号修饰。例如:从a1到h50是数据,则应该写为:$a$1:$h$50
3、第n列——也就是你准备返回第几列的值。例如:你输入编号后,要得到姓名,而姓名在数据区域的第5列,n就是5。
4、false——此处取值有两种,一是true,一是false。两者的区别是 true为相似匹配,false为精确匹配。
EXCEL做统计
如:A1,B1单元格是时间类型,C1是数字类型,我要计算费用用(B1-A1)*C1得到的数据还是时间类型、怎么办
?我希望把时间类型变为整数类型,如0:50(50分钟)*3(元/H)=2.5元
&解答:设A1为3:30,B1为4:30,C1为3,D1为下列输入的函数:
=HOUR(B1)*60+MINUTE(B1)-(HOUR(A1)*60+MINUTE(A1)) 。D1结果等于60(分钟)
我在用VBA写EXCEL的注释时,需要等程序判断该单元格是否有注释,如果有就读出来,如果没有就添加,但我一直没找到用什么办法来知道单元格是否有注释,请各位大虾指点!!!
Sub 批注()
For i = 1 To 8
On Error Resume Next
a = Sheets(1).Cells(i, 1).Comment.Text
If Err.Number = 91 Then
Sheets(1).Cells(i, 2) = "左侧单元格无批注"
Sheets(1).Cells(i, 1).AddComment Text:="请输入批注内容"
Sheets(1).Cells(i, 2) = "左侧单元格批注" & a
A1的内容,决定A2的数值是来自sheet1,sheet2还是sheet3.
我用了公式却不行.用 Range("A2").value=Range("Range("A3").value").value
也不行.(A3有公式:
="sheet"&A3&"!E1")请各位帮忙了.
解答:if(a1=1,sheet1!a1,if(a1=2,sheet2!a1,if(a1=3,sheet3!a1)))
比如说第一行的第一个单元格=1那么就自动隐藏第一行?
&解答用vba。
Sub 隐藏()
for i=1 to x x--行号
if sheets(1).cells(i,1)=1 then
Rows(i).Select
Selection.EntireRow.Hidden = True
35”后,自动转换成日期格式
解答:A1中输入,B1中转换。。B1=Left(A1,4)&"—"&MID(A1,5,2)&"—"&MID(A1,7,2)&"
"&MID(A1,9,2)&":"&MID(A1,11,2)&":"&MID(A1,13,2)
sheet1到sheet200的a19这一格,依序贴到sheet0的a1到a200
解答:方法一:公式
可在A1储存格输入以下公式,再行拖曳至A200即可。
=INDIRECT("Sheet"&ROW()&"!A19")
方法二:VBA
Sub Macro1()
'选择工作表 sheet0
Sheets("sheet0").Select
For r = 1 To 200
'将工作表 1~200 里面的 D17 复制到 sheet0 的 A1~A200
Cells(r, 1) = Worksheets(CStr(r)).Range("D17")
On Error Resume Next
&列记录几百条,如何对这列计数(重复的数值不计)
我只能做到新建一列,B列,然后第一个单元格countif($A$1:$A$100,A1),然后拖动到全部新列。最后在新列下面用sumif(B1:B100,1)
谁有更好地方法?
解答:1、试试这个:{=SUM(IF(COUNTIF(A1:A100,A1:A100)=1,1,0))}
2、操作:①A1作公式栏,A2作字段名栏,如原该两栏有数插入2行。在A1输入:=SUBTOTAL(3,A$2:A$5000)
统计记录数或:=SUBTOTAL(9,A$2:A$5000) 数据汇总
②选:数据--&筛选--&高级筛选--&选择不重复的记录。
③复原选:数据--&筛选--&高级筛选--&全部显示。
3、试试这个:
{=SUM(IF($A$1:$A$100="","",1/(COUNTIF($A$1:$A$100,$A$1:$A$100))))}
4、请解释一下,因为我单独使用COUNTIF($A$1:$A$100,$A$1:$A$100)数组公式时,它仅仅计算第一个也就是A1的个数.
5、我发觉你的这办法,只对唯一的数据进行了计数,而重复的数据全部未计入(是不是应该将重复的数据也计上一个?)打哈欠的“{=SUM(IF(COUNTIF(A1:A100,A1:A100)=1,1,0))}”也是这样。
剑魔版主你公式中的“1/(COUNTIF($A$1:$A$100,$A$1:$A$100))”像是一个倒数,怎么理解?
6、用倒数是这个意思:如果只出现一次,数组中的相应项统计为1,其倒数为1,Sum统计计1
如果出现 N 次,其倒数为1/N,出现了N次,求和就是Nx1/N,最后Sum统计就只计1。
"YY0115",我想取第三、四的值"01",应该用什么函数
解答:1、=mid("YY)&""
2、如果你的A1中的数值一定包含后四位阿拉伯数字的话,你可以用这个:
=LEFT(RIGHT(A1,4),2)=LEFT(RIGHT(A1,4),2)=LEFT(RIGHT(A1,4),2)
3、我的实际工作中的数据还没有如此规律,该怎么办?如:A1="YY0105",A2="99065",A1取"01",A2取"99"。能否用一个函数去掉A1中"YY",然后都是从阿拉伯数字的第一位开始取两位数?
4、如果阿拉伯数字数量不定,但是以2个英文字母开头(或无英文字母),可以用以下公式:(设数据在A1中)
=IF(ISNUMBER(VALUE(A1)),MID(A1,1,2),MID(A1,3,2))
5、数组公式:
{=MID(A1,MIN(IF(EXACT(LOWER(MID(A1,ROW(INDIRECT("A1:A256")),ROW(INDIRECT("A2:A257")))),UPPER(MID(A1,ROW(INDIRECT("A1:A256")),ROW(INDIRECT("A2:A257"))))),ROW(INDIRECT("A1:A256")),"")),2)}
中行、青泥支行696、卡伦办事处、站前支行1004055
、金州支行091
解答:1、用函数可以解决。 假如A1 为 中行
则B1=LEFT(A1,(SEARCHB("?",A1,1)-1)/2)、C1=MID(A1,LEN(B1)+1,50)、随后将B1、C1的公式往下复制。
2、Sub 分列()
For Each jk In Sheet1.UsedRange.Columns(1).Cells
For i = 1 To Len(jk.Formula)
If Abs(Asc(Mid(jk.Formula, i, 1))) & 256 Then
Sheet1.Cells(jk.Row, (jk.Column + 1)).Formula = "'"
& Right(jk.Formula, (Len(jk.Formula) - i +
jk.Formula = Left(jk.Formula, (i - 1))
3、是否将Asc(Mid(jk.Formula, i, 1)) & 256 改成 47
& Asc(Mid(jk.Formula, i, 1)) & 58
会更好,因为它只将数字抽出,如果数字前有英文字的话将抽往数字列。
4、我看帮助中instr函数不错
配合循环速度应快些
个不连续的数之和的求法
我有一个表格,有一列数据是以6 个单元格为一个单位做一次小计,我在小计中加入了公式
但是我还想求一下这个小计的总合,我想加入一个公式,但是我有SUM到了50多个时就加不进去了,用加号连加也不行,不知这个问题怎么解决
解答:用SubTotal()解决即可
解答:Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value =
Application.WorksheetFunction.Proper(Target.Text)
(两日期间的天数)
&解答:=DATEDIF(A1,B1,"d")
问:我用了datedif发现一个问题
、即当A列&B列时,结果正确,而当A列&B列时出错了
、请问用什么办法解决
答:=IF(A1&B1,DATEDIF(B1,A1,"d"),DATEDIF(A1,B1,"d"))
EXCEL文件坏了(文件带密码)有没有EXCEL修复工具
解答:Excel 2000
数据&&取得外部数据&&新增数据库查询&&Excel
File*&&找到档案&&
[选项]勾选所有选项&&
会找到所有未命名[区块]如Sheet1$
&&找到字段&&其它跟着查询精灵导引一步一步作
此中间层组件叫作Microsoft Query
可以用来拯救[毁损档案]
解答:你可以用Lookup,vlookup等函数。
中输入11:22:22 要求每间隔一秒刷新一次
&解答:&sub
range("a1")=now()
Application.OnTime Now + TimeValue("00:00:01"), "mytime"
DAY(DATE(年份,月份+1,1)-1)&
excel求解联立方程
x-x(7/y)^z=68
x-x(20/y)^z=61
x-x(30/y)^z=38
解答:这是一个指数函数的联列方程。步骤如下
1、令X/Y=W 则有
X-(7W)^z=68
X-(20W)^Z=61
X-(30W)^Z=38
(20^Z-7^Z)W^Z=7
(30^Z-20^Z)W^Z=23
(30^Z-20^Z)/(20^Z-7^Z)=23/7
由此求得Z=3.542899
x=68.173955
y=781.81960
例:在IF同时使用条件B1&0和B1&10
&解答:and(B1&0,B1&10)
TRIM把“中 心 是”中间的空格去掉
&解答:用SUBSTITUDE()函数,多少空格都能去掉。如A1中有:中 心 是
则在B1中使用=SUBSTITUTE(A1," ","")就可以了。注意:公式中的第一个“
”中间要有一个空格,而第二个“”中是无空格的。
EXCEL中的单元格定义成数组
我在编写程序时遇到这样一个问题,
每次用循环程序时向单元格写或读数据时总是面向一个固定区域,如Range("A1:D10")
。请问有没有方法能做到像数组那样,将单元格的下标由常量变成变量!。如下面这种形式,那编程时会减少很多的工作量!。Range("A[value1]:D[value2]")
解答:range(cells(行数,列数),cells(行数,列数))、行数 列数可用变量带入。或:Range("A"
&trin(str(value1)) & ":"
& "D" & trim(str(value2)))
解答:其实行高和列宽的换算总题是不太复杂的,只要用打印机打印一个单元格的框架,再用尺子量出单元格框架的长和宽,然后用这个值跟单元格的磅值进行换算即可.
例:单元格的宽度是8.38磅,高是14.25磅.打印出来后宽度是19.6mm,高是6mm,这样就得出磅和毫米之间的换算关系
.宽:19.6mm/8.38磅=2.339mm/磅;
高:14.25磅/6mm=2.375磅/mm
好了,我想不用我多说你就会制出跟实际表格一模一样的表格来.
8结尾,号码加1;如果不是,号码加0.
解答:1、如果A1=1008  在B1中输入 =if(right(a1,1)=8,a1+1,a1),可以实现如果结尾是8加1,不是8则不加。2、如果不是上述意思则为 =if(right(a1,1)=8,concatenate(a1,1),concatenate(a1,0))。3、实际上应该是:=if(right(a1,1)=8,a1&"1",a1&"0")。
,怎样让月累计数自动加上
&就是要月累计自动加上今天的当日收入数,今天只输入当日收入,我想用用前一天的月累计数加上今天的当日收入数为今天的月累计数.情况是一月一个工作薄,每一个工作薄下30个工作表,用每一天的日期为报表名.我想把月累计的公式写为
=sheet17!c5 中的 17 用 day(now())-1 的值去取代他,该怎么办呢?
以下为报表格式,谢谢大家帮我想一想.
部门-------当日收入 -----------月累计
团队收入 12.12 123.00
写字间收入 147,258.00 147.147
房内吧收入 147,258,369.00
解答:1、=SUM('Sheet1:Sheet30'!C5)
在你需要月汇总的单元格填入上述公式,其作用是将工作表1到工作表30的“C5”单元格的值全部累加起来,而“C5”单元格应填入当日的收入数。
“我想把月累计的公式写为 =sheet17!c5 中的 17 用 day(now())-1 的值去取代他,该怎么办呢?
”---这可能需要VBA才能实现。2、&如果工作重复的话,可以制作一个模板,公式事先定义好,每次用时新建一工作簿即可。
“把月累计的公式写为 =sheet17!c5 中的 17 用 day(now())-1
的值去取代他”,还没找到方法,调试好了再告诉你。3、&=INDIRECT(ADDRESS(1,1,1,1,"sheet"&DAY(NOW())-1))
A1=(a2,a3,a4,a5)其中一个就返回AA,如果A1=a6,就返回BB,否则就返回CC
解答:=IF(OR(A2=A1,A3=A1,A4=A1,A5=A1),"AA",IF(A6=A1,"BB","CC"))
Sheet1!A1=Sheet2!A3 /Sheet1!A2=Sheet3!A3
/Sheet1!A3=Sheet4!A3/........
/能有什么方法可以快速得出Sheet1!A4及以下的数值?(比如说至Sheet1!A100) /还有就是
/Sheet1!A1=Sheet2!A3+Sheet2!B7 /Sheet1!A2=Sheet3!A3+Sheet3!B7
/Sheet1!A3=Sheet4!A3+Sheet4!B7/........ /又该如何实现?
解答:1、=INDIRECT("Sheet"&ROW()+1&"!A3")。2、数量1:
=INDIRECT((ROW()-1)&"!$B$3")
=INDIRECT((ROW()-1)&"!$C$4")+INDIRECT((ROW()-1)&"!$D$5")
解答:=COUNT(A:A)
出来共有的记录条数
解答:用 counta 统计
A栏里的一个值的,再统计出B栏里不同数据的个数
a 北京 /a 广州 /a 天津 /b 广州 /b 长沙 /a 北京/b 北京 /b 长沙我还想再加个条件呢?比如:
A栏是a的有3个不同的城市,A栏是b的有3个不同的城市,))...
解答:1、{=sum((a1:a10="a")*(b1:b10="广州"))}。2、你搞错我的意思了,我是想要不同城市的值,如:当A栏中等于a的,就统计出B栏中有多少个不同的城市数量,其结果是3(三个不同的城市)。3、就你这道例题来讲:设数据在A1:B8中:
{=COUNT(LARGE(IF($A$1:$A$8="a",(CODE(LEFT($B$1:$B$8))&CODE(RIGHT($B$1:$B$8)))*1,""),ROW($A$1:$A$5)))-IF(LARGE(IF($A$1:$A$8="a",(CODE(LEFT($B$1:$B$8))&CODE(RIGHT($B$1:$B$8)))*1,""),ROW($A$1:$A$5))-LARGE(IF($A$2:$A$9="a",(CODE(LEFT
($B$2:$B$9))&CODE(RIGHT($B$2:$B$9)))*1,""),ROW($A$1:$A$5))=0,1,0)}公式也有局限性,就是城市最多两个字,三个四个也可以,但肯能会出错,就是会漏掉
IF函数达到我想要的结果
工作表数据如下:
A列 B列 C列 D列 E列
1 5 9 H /2 6 0 I /3 7 F J /4 8 G K /我想当A列=1或2或3
时,E列=A列对应的值,/否则CONCATENATE(A2,B2,C2,D2) /结果如下:
A列 B列 C列 D列 E列
1 5 9 H 1 /2 6 0 I 2 /3 7 F J 3 /4 8 G K 48GK /请问这个公式怎么写?
解答:=IF(OR(A1=1,A1=2,A1=3),A1,A1&B1&C1&D1)
我相要编写一个自动替换的宏。
要替换的内容如下:
把特殊符号“▼”替换为
即把原特殊符号前后各加上一个换行符。
解答:Sub Macro()
Cells.Replace What:="▼", Replacement:=Chr(10) & "▼"
& Chr(10), lookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False,
ReplaceFormat:=False
用了一下,有问题,把
“, SearchFormat:=False, ReplaceFormat:=False”
删除后就能用了,不过,原有的文本格式设置都没有了,有点儿得不偿失了,呵呵。
我在想,删除里的“ReplaceFormat”是用来指定格式的吧,可我看了“Replace”的帮助,没有这个参数设置的。我用的是Execl2000,不知道有没有联系。
①、可作为数字使用的字符 在 Microsoft Excel 中,数字只可以为下列字符:
0 1 2 3 4 5 6 7 8 9 + - ( ) , / $ % . E e
②、Excel
将忽略数字前面的正号(+),并将单个句点视作小数点。所有其它数字与非数字的组合均作文本处理。
③、输入分数 为避免将输入的分数视作日期,请在分数前键入 0(零),如键入 0 1/2。
④、输入负数 请在负数前键入减号 (-),或将其置于括号( )中。
⑤、对齐数字
在默认状态下,所有数字在单元格中均右对齐。如果要改变其对齐方式,请单击“格式”菜单“单元格”命令,再单击“对齐”选项卡,并从中选择所需的选项。
⑥、数字的显示方式 单元格中的数字格式决定 Excel
在工作表中显示数字的方式。如果在“常规”格式的单元格中键入数字,Excel 将根据具体情况套用不同的数字格式。例如,如果键入
$14.73,Excel
将套用货币格式。如果要改变数字格式,请选定包含数字的单元格,再单击“格式”菜单上的“单元格”命令,然后单击“数字”选项卡,再根据需要选定相应的分类和格式。
⑦、“常规”数字格式 如果单元格使用默认的“常规”数字格式,Excel
会将数字显示为整数(789)、小数(7.89),或者当数字长度超出单元格宽度时以科学记数法(7.89E+08)表示。采用“常规”格式的数字长度为
11 位,其中包括小数点和类似“E”和“+”这样的字符。如果要输入并显示多于 11
位的数字,可以使用内置的科学记数格式(指数格式)或自定义的数字格式。
⑧、15 位限制 无论显示的数字的位数如何,Excel 都只保留 15
位的数字精度。如果数字长度超出了 15 位,Excel 则会将多余的数字位转换为零 (0)。
⑨、将数字作为文本输入 即使用“单元格”命令将包含数字的单元格设置为“文本”格式,Excel
仍将其保存为数字型数据。如果要使 Microsoft Excel
将类似于学号之类的数字解释为文本,需要先将空单元格设置为“文本”格式,再输入数字。如果单元格中已经输入了数字,需要对其应用“文本”格式,然后单击每一个单元格并按
F2 键,再按 ENTER 键重新确认数据。
⑩、区域设置
可作为数字使用的字符取决于“控制面板”中“区域设置”内的选项。这些选项也决定了数字的默认格式,例如:在美国系统中句号 (.)
作为小数点使用。
解答:设A1=LOVE,查找字母L是否在A1中,
=IF(ISERROR(SEARCH("L",A1)),"NO","YES")
我想定义单元格A1,在下列条件下数值不同: 1.在B1大于0小于20时等于6;
2.在B1大于20小于36时等于4; 3.在B1大于36小于56时等于2;
4.大于56以上等于1.请问:A1公式应该如何?
解答:=IF(B1=&0,"OUT",IF(AND(B1&0,B1&=20),6,IF(AND(B1&20,B1&=36),4,IF(AND(B1&36,B1&=56),2,1))))
又问:开头的"B1=&0,"OUT","是起什么作用的?
又答:从数学角度来说,一个有理数的范围是从负无穷到正无穷的。在你给我的B1的数值范围内,只定义了从0到正无穷,对于当B1&0或=0时没有定义。而我在做IF函数时,必须要考虑到当B1处在&=0的范围时,A1需要回返的结果。所以我自己把它定义为,当B1&=0时,返回文本OUT,你自己可以把OUT改成任意你想出现的数字。另外,在你开始的条件定义中,都是当B1大于多少,小于多少,这也是不严格的,因为你没有定义当B1=0,=20,=36时A1要返回的值。因此,我在写函数时,也自己帮你加了上去。关于这一点,你也可以在函数中自己改成你需要的定义范围。总之,在做IF函数时,请一定考虑到数值可能产生的所有范围及其对应返回的值。
再问:怪我没对您说明白,我的文件里,B1永远是大于0的.
再答:如果你确定B1里出现的数值永远是大于0的,那么此函数可以简写为:
=IF(AND(B1&0,B1&=20),6,IF(AND(B1&20,B1&=36),4,IF(AND(B1&36,B1&=56),2,1)))
返回的结果与原先是一样的。但是,容我在此提醒你,在这个函数里,它与原先函数的区别是当B1&56或B1&=0时,返回的值是一样的。所以,当A1返回的值=1时,无法判断是因为B1&56,还是因为B1&=0(按你的定义即为B1输入的数值有误)。所以,本人还是建议要将所有的情况都考虑在内。
在excel中,我想将小数点后所有的有效数都进为1,请问用什么方法?
、如:3.25、4.6、5.3....等进位为4、5、6....... 、说明:以上数值均为公式的计算结果,是可变的.
解答:C3 = 3.25 、则在D3中输入“=ROUNDUP(C3,0)”
A列的数字在B列中所在的位置,&并在第三列显示单元格号
解答:假设数据在A1:B10,则C列公式为
=MATCH(B1,$A$1:$A$10,0)
G9到G71,需要隔行求和
解答:在需要的单元格中(如G72单元格)输入
:=SUM(IF(MOD(ROW(G9:G71),2)=1,G9:G71,0))
按Ctr+Shift+Enter即可。
解答:函数方法:
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,100)
countif(a1:a100,"a")只等求取一个值的合计个数两个以上条件的个数用下列公式:&sum(if(a1:a100="a",if(b1:b100&50,1,0)。也可以用数组公式:{=SUM((A1:A100="a")*(B1:B100&50)}
如图所示:我想统计算出每天不重复的管理员?
日期行数中的值每月每天都是上下午2个单元格分别以数字代表;
管理员行中的管理员每月每天就没有固定的取值了,但人员数是不变的。
图中管理员需求的值为:A=9;B=7:C=3
D2:{=SUM(($B$2:$B$21=C2)*(MATCH($A$2:$A$21&$B$2:$B$21,$A$2:$A$21&$B$2:$B$21,0)=ROW($A$1:$A$20)))}
vlookup函数的问题
当时有两千多人的考试成绩要与花名册挂接,考试成绩放在sheet km1中,花名册放在sheet
hmc中,他们共有字段为准考证号,我的想法是根据准考证号,用vlookup函数查找相应的成绩并放在相应的人员下。
sheet km的准考证号放在第一列,考试成绩放在第二列,查找范围是$a$2:$b$2265,sheet
hmc的准考证号党在第一列。
vlookup(a2,km!$a$2:$b$2265,2,false)
公式应该没什么问题,但只能找到很少的纪录(&60),究竟是什么地方除了问题,请高手指点!
解答1:可以用SUMIF函数解决:
  =SUMIF(km!$A$2:$B$2131,A2,km!$B2:$B$2131)
(作者注:将sheet
km下的所有准考证号都转化为文本,再使用vlookup函数,一切正常!vlookup函数查找区域必须转化为文本!)&
列间隔3列求和
解答:假设a1至t1为数据(共有20列),在任意单元格中输入公式:=SUM(IF(MOD(TRANSPOSE(ROW(1:20)),3)=0,(a1:t1))
按ctrl+shift+enter结束即可求出每隔三行之和。
例如:在SHEET1中的数据如下:
1,A /2,B /3,C /4,D /5,E /6,F
在SHEET2中的数据如下:
现在想要得到数据
3,C /5,E /1,F /请问如何具体操作?
解答1:SHEET1:a1:a5为:1,2,3,4,5;b1:b5为:a,b,c,d,e
SHEET2:a1:a5为:1,2,3,4,5;b1输入:=sum(if(sheet1!a1:a5=a1,sheet1!b1:b5,"")),记住是数组,即输入完后按ctrl+enter,再看公式会变成:={sum(if(sheet1!a1:a5=a1,sheet1!b1:b5,""))}
解答2:比如sheet1中,数据在a1:b5
.sheet2中,3在a1,在a2中输入公式:=vlookup(a1,sheet1!$a$1:$b$5,2,false)然后按着shift键把下面的单元格选中,再按ctrl+d将公式复制下去就搞定了!如果对公式不熟悉,可以采用公式向导的办法。
表1中有一系列的数据
Lyyf 12 23 /Kkk 34 23/Klk 455 5 /Ljkl 66 6 /Klsda 78 1
/我想在表2查找表1是否有Klk并引用Klk相对应行的数据。
解答:在表2中输入:/=SUMIF(表1!A1:A5,表1!A3,表1!B1:B3)
再问:用volkup函数行吗?
&再答:=VLOOKUP(表1!A3,表1!A1:B5,2)
比如:f1=(d1+d3)/AVERAGE(e1,e2)
其中 :d1=2/d3=1 /e1=4 /e2=5
/我想在一个单元格里显示出“=(2+1)/[1/2*(4+5)]”/有什么办法吗?
&解答:在单元各g1显示计算过程:
g1="=("&D1&"+"&D3&")/"&"(0.5*("&E1&"+"&E2&"))"
&再问:我忘记说了,不是每个数都有很多位小数,
我的公式是:F1"="&C23&"/(0.5*"&!G31&"+"&!H31&")"
其中c23也是计算得出数,有影响吗?
只有分子是很多位小数,我查看了各单元格的设置,都是数字,使用千分位分隔符。
而且,我想在其中加上千分位符,怎么办?
&再答:计算结果只想保留两位小数,可以在单元格里将数值设置为两位。
你若是想在显示计算公式里采用两位小数、使用千分位分隔符,可以这样试试:将需替换的"C23"替换为"FIXED(C23,2)"。
Excel图表时,如何控制X轴的刻度显示
如:有一组数据x(1,2,3,4,5,6,7,8,.......30)、y(100,200,300,400,......3000)制成的图表X轴默认显示的刻度为1,2,3,4,5,6,7,8,.......30,如何将其改为五的倍数才显示刻度,即只显示5,10,15,20,25,30。文字
&解答:选中X坐标轴,右击。选中“坐标轴格式”,选“刻度”标签页,在“主要刻度单位”的输入项,键入“5”,或者其它的数值。
&我目前在使用Excel
xp,先急需解决一个条件求和的问题~
具体问题描述如下:如图,
1 日期 属性 数量 /2 1.1 现金 236.34 /3 1.1 存款 123.45 /4 1.1 外汇
1.2 现金 11.5 /7 1.1 存款 281.65 /8 1.2 存款 1.1 /9 1.2
存款 346.5 /10 1.2 存款 346.5 /11 1.2 现金 346.5 /12 1.2 外汇 346.5 /13 1.2
外汇 346.5 /14 1.2 外汇 346.5 /15 1.2 外汇 346.5 /16 1.2 外汇 346.5 /17 1.2
外汇 346.5 /18 1.2 外汇 346.5 /19 1.2 外汇 346.5
/一个A1:C19表,要求求日期为"1.1"的属性为"现金"的数量的和.个人认为应该用sumif()函数的嵌套,或者用if()函数的嵌套,但是,写了很多式子尝试都不成功,希望知道的人,能及时帮助我,非常感谢~
1 属性 日期 /2 现金 1.1 /E4=DSUM(A1:C19,C1,E1:F2)
又问:我实验了您提供的方法,可行,但是,先有两个问题需要解决:
1.如果远先的双条件column列不是互相比邻的,那么,DSUM()又该如何写呢? 例如SUM(A1:C20,C1,D1:E2)
但是现在,需要比较的两个条件如果分别为A列跟C列,而需要求和的数据却在E列,该如何解决呢?
2.虽然您提供的方法能够解决问题,但是,我想我是预先给定了一个条件的,您就建了一个条件,但是,如果我的条件搭配方式非常多,那不是要建里很多条件来满足DSUM()函数方式么?
又答:求和条件一般是在单独的单元格里写出来的。而不是直接在数据区域里。如果你的条件非常多,又经常变化,就应该用数据透视表了。
解答2:=SUM(IF(IF(A2:A19=1.1,B2:B19,0)="现金",C2:C19,0))其中,如果"日期"字段为数字型,如为文本型,则在1.1上加引号.在写完公式后,不要按回车,需按shift+ctrl+回车.此为数组公式.
解答3:工作表插入头两列 ,数据从A3开始
C1=SUBTOTAL(9,OFFSET(A4,,,COUNTA(A4:A65536),))自动筛选:由它提供控件.
X 位的数据
我用 Excle
管理工资,可是银行帐号有的不足21 位。必须把它查找出来,传统的方法太费时间,怎样利用函数等功能快速查找不足21位的帐号呢?
解答:用len()判断一下就可以。设a列为数据,在b1输入:if(len(a1)&21,0,1),往下拉公式。
或者用高级筛选也可以
向EXCEL格式转换时一个单词或汉字分别填入EXCEL中的一个单元格中
解答:在WORD中利用“替换”功能,把每个字符后面都加上一制表符,(在“查找”框中单击“高级”按钮,弹出“高级对话框”,把光标置入“查找”框内,在“特殊字符”中单击“任意字符”,再把光标置入“替换”框内,在“特殊字符”中单击“要查找的文字”,再单击“制表符”,再全部替换)
然后复制或剪切,在EXCEL中粘贴即可。
如:公交公司 50 60,交通集团 60 40,公交公司 100 600,大学 60 10
将以上数据表进行合并汇总,即两个公交公司合计为一个单位,后面的数据进行相应求和汇总。
结果:,公交公司 150 660,交通集团 60 40,大学 60 10
解答:用SUMIF同样能够实现,按照上次的公式+公式+公式+……,例:=SUMIF($A$1:$A$4,"公交公司",$B$1:$B$4)+SUMIF(Sheet2!$A$1:$A$4,"公交公司",Sheet2!$B$1:$B$4)+SUMIF(Sheet3!$A$1:$A$4,"公交公司",Sheet3!$B$1:$B$4)+SUMIF(Sheet4!$A$1:$A$4,"公交公司",Sheet4!$B$1:$B$4)。
也可以这样:=IF(Sheet1!$A$1:$A$4="公交公司",IF(Sheet2!$A$1:$A$4="公交公司",IF(Sheet3!$A$1:$A$4="公交公司",IF(Sheet4!$A$1:$A$4="公交公司",SUM(Sheet1!B1:B4+Sheet2!B1:B4+Sheet3!B1:B4+Sheet4!B1:B4)))))
" "中的内容根据自己的条件需要改变。
或者:用菜单“数据》合并计算”功能。
工号 成绩 月份/01 20 1月/06 30 1月/100 60 1月/102 80 1月
工号 成绩 月份/01 80 2月/07 90 2月/100 89 2月/102 90 2月/130 100 2月
要求产生的表:
工号 成绩/1月 2月 /01 20 80/06 30/07 90/100 60 89/102 80 90/130
100请问如何实现按工号大小排列?
解答:记录的自动筛选我已经解决,请仔细体会例子中公式的含义。多条件数据的求和,用数组公式:
=SUM((条件1所在区域="条件1")*(条件2所在区域=条件2)*(要求和的区域))。文本用“ ”
Q:在一个表中有两列日期型数字 ,请问如何在第三列中得到其差(两日期间的天数)
A:=IF(A1&B1,DATEDIF(B1,A1,"d"),DATEDIF(A1,B1,"d"))
我用EXCEL做了一个模板,其中一些数据(文本数据)是经常重复的,但我每次只好重新输入,作了很多重复劳动,请告知如何做一个选择对话框,把以往输入的数据(文本数据)显示以供选择,更好是能按字母查询。谢谢!!
解答:在B列设置数据验证,首先定义“名称”为ABC在引用位置设置为A1:A1000
然后将B列数据有效性设置为:&”序列“&”=ABC“&
在A列输入的数据在B列就会列出来
A列为部门名称,B列为姓名,C列为日工资额(如20.00),D列为月出勤天数,我想在另一汇总表中汇总出各部门员工月工资总额(即:相应部门对应的C*D之和)。请问如何解决?
解答1:直接写公式有点困难,我的想法是用vba编程实现。思路如下:
编写一个循环,遍历A列,
并进行检测,设置几个变量,分别代表几个部门和相应的工资总额,每当部门变量和单元格的值相等时,就把该值加到相应的工资总额变量中,直到遍历结束。&
解答2:采用数组公式:{sum((Aarray="部门名称")*(Carray)*(Darray)*1}
其中array为对应的区域名称!&
解答3:1、使用数据透视表的功能。
2、或者使用SUMPRODUCT函数。
c2为空,则如果b2含有“1”,或者“2”,或者“3”的话,d2=b2*4-5,请问各位高手,以上如何在excel内实现判断.
解答1:D2=IF(AND(C2="",OR(B2=1,B2=2,B2=3)),B2*4-5,"")
&解答2:(上面的解答和题意不符,含有字符1、2、或3。应该写成d2=IF(C2="",IF(ISERROR(FIND(1,B2,1)&0),IF(ISERROR(FIND(2,B2,1)&0),IF(ISERROR(FIND(3,B2,1)),"",B2*4-5),B2*4-5),B2*4-5),"")
解答1:在编辑状态下,选中“2”,按鼠标右键,选择“设置单元格格式”,选“上标”
解答2:按[ALT]+数字键178[ENTER]
Excel中打印条形码
解答:在Office中都可以通过在控件工具箱单击"其它控件",选取"Microsoft BarCode
Control 9.0" ,然后进行赋值操作即可。
=DATEDIF(B2,TODAY(),"y")
=DATEDIF(B2,TODAY(),"ym")
=DATEDIF(B2,TODAY(),"md")
=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2,TODAY(),"md")&"日"
26个表格汇总求和成一个汇总表
解答:假设汇总的工作表叫Sheet1,而存放数据的工作表叫Sheet2, Sheet3, ...,
Sheet27,你可以这样设置公式,把各工作表A1的数值加起来:
  =SUM(Sheet2:Sheet27!A1)
要注意的是,Sheet1不能在Sheet2和Sheet27中间,Excel不会管工作表的名字,只会把Sheet2和Sheet27中间的*所有*工作表中相关的储存格(哪怕中间有一个工作表叫Sheet99)加起来。
1、在汇总表单元格内选择“Σ”
2、选择需要叠加的第一个工作表
3、按住shift同时用鼠标选择需要叠加的最后一个工作表
4、选择需要叠加的单元格
想得到数据的出现总数吗({1,2,2,3,4,4,5} 数据的出现总数为5)?
解答:不需要插列,不需要很多的函数就行了. =RANK(B3,B$3:B$12)+COUNTIF(B$3:B3,B3)-1
Q: A1单元格中是15位的身份证号码,要在B1中显示性别(这里忽略15位和18位身份证号码的判别)
B1=if(mod(right(A1,1),2)&0,"male","female")请问这个公式有无问题,我试过没发现问题。但在某个网站看到作者所用的是如下公式:
B1=if(mid(A1,15,1)/2=trunc(mid(A1,15,1)/2),"female","male")
答:道理都是一样的,不过你的公式比那个公式优质。
Q: 1.如何从文本文件中取2,4,6,8......行的数据到EXCEL中?
2.在EXCEL中如何实现产生一个ACCESS的表,并把指定的数据存入ACCESS的表中.
1.(暂时不知道你问的目的是什么,如果仅仅要结果,就往下看)如果要导入一文本文件(过程略),导入的结果在SHEET1的A1:100(如果是100行的话)中,此时不管它奇还是偶行;然后在SHEET2的A1中输入公式=INDEX(Sheet1!$A$1:$A$81,2*ROW(),COLUMN()),拖公式,就可以截取到文本文件的2,4,6,8,10......行了。
2.关于EXCEL转为ACCESS,MS专门为用户设计了一个这样的ADD-IN,你可到
怎样在一数字符串分解为单独的数字,比如将31234的值分解为31234,读出后将相应的结果填充到固定的单元格
A:1用RIGHT() 或LEFT()
2.假设A1单元格为:31234,结果分别放入B1—B5,
B1=MID(a1,1,1);B2=MID(a1,2,1);B3=MID(a1,3,1);B4=MID(a1,4,1);B5=MID(a1,5,1)
3.用数据-&分列-&固定宽度...试试.
4.RIGHT(RIGHT(B2,1),1)
假设A1单元格为:31234,结果分别放入B1—B5,
B1=LEFT(LEFT(a1,1),1);B2=RIGHT(LEFT(a1,2),1);B3=RIGHT(LEFT(a1,3),1);B4=RIGHT(LEFT(a1,4),1);B5=RIGHT(LEFT(a1,5),1)
有这样一个问题:年终结帐:要将12个月的账分成二笔来结,(假定数据如下)假定一笔为300或最接近300,剩余的为另一笔。怎样才能快速算出?
1月 56.6 、2月 12.1 、3月 54.3 、4月 87.8 、5月 43.2 、6月 61.4 、7月 32.7 、8月
27.5 、9月 38.2 、10月 11.1 、11月 36.9 、12月 29.4 、总数 491.2
A: 我给出将12个月的账分成若干份(即是未知的)结,条件还一样。
这个弄明白了,你想要的自然就会做出了。
1 1月 56.6 =IF(F1&=300,F1,"$F$1")
2 2月 12.1 =IF(ISNUMBER(G1),"$F$" &
ROW(G1),IF(SUM(INDIRECT(G1 & ":F" &
ROW(G2)))&300,SUM(INDIRECT(G1 & ":F"
& ROW(G1))),G1))
3 3月 54.3 =IF(ISNUMBER(G2),"$F$" &
ROW(G2),IF(SUM(INDIRECT(G2 & ":F" &
ROW(G3)))&300,SUM(INDIRECT(G2 & ":F"
& ROW(G2))),G2))
4 4月 87.8 =IF(ISNUMBER(G3),"$F$" &
ROW(G3),IF(SUM(INDIRECT(G3 & ":F" &
ROW(G4)))&300,SUM(INDIRECT(G3 & ":F"
& ROW(G3))),G3))
5 5月 43.2 =IF(ISNUMBER(G4),"$F$" &
ROW(G4),IF(SUM(INDIRECT(G4 & ":F" &
ROW(G5)))&300,SUM(INDIRECT(G4 & ":F"
& ROW(G4))),G4))
6 6月 61.4 =IF(ISNUMBER(G5),"$F$" &
ROW(G5),IF(SUM(INDIRECT(G5 & ":F" &
ROW(G6)))&300,SUM(INDIRECT(G5 & ":F"
& ROW(G5))),G5))
7 7月 32.7 =IF(ISNUMBER(G6),"$F$" &
ROW(G6),IF(SUM(INDIRECT(G6 & ":F" &
ROW(G7)))&300,SUM(INDIRECT(G6 & ":F"
& ROW(G6))),G6))
8 8月 27.5 =IF(ISNUMBER(G7),"$F$" &
ROW(G7),IF(SUM(INDIRECT(G7 & ":F" &
ROW(G8)))&300,SUM(INDIRECT(G7 & ":F"
& ROW(G7))),G7))
9 9月 38.2 =IF(ISNUMBER(G8),"$F$" &
ROW(G8),IF(SUM(INDIRECT(G8 & ":F" &
ROW(G9)))&300,SUM(INDIRECT(G8 & ":F"
& ROW(G8))),G8))
10 10月 200 =IF(ISNUMBER(G9),"$F$" &
ROW(G9),IF(SUM(INDIRECT(G9 & ":F" &
ROW(G10)))&300,SUM(INDIRECT(G9 &
":F" & ROW(G9))),G9))
11 11月 36.9 =IF(ISNUMBER(G10),"$F$" &
ROW(G10),IF(SUM(INDIRECT(G10 & ":F"
& ROW(G11)))&300,SUM(INDIRECT(G10
& ":F" & ROW(G10))),G10))
12 12月 29.4 =IF(ISNUMBER(G11),"$F$" &
ROW(G11),IF(SUM(INDIRECT(G11 & ":F"
& ROW(G12)))&300,SUM(INDIRECT(G11
& ":F" & ROW(G11))),G11))
13 =IF(ISNUMBER(G12),"",SUM(INDIRECT(G12 & ":F"
& ROW(G13))))
14 总数 491.2
最后结果为:
1 1月 56.6 $F$1/2 2月 12.1 $F$1 /3 3月 54.3 $F$1/4 4月 87.8 $F$1/5 5月
43.2 $F$1 /6 6月 61.4 254 /7 7月 32.7 $F$6 /8 8月 27.5 $F$6 /9 9月 38.2
$F$6 /10 10月 200 159.8 /11 11月 36.9 $F$10 /12 12月 29.4 $F$10 /13
266.3 /14 总数 491.2 /说明:G6 为 F1:F5 之和、G10 为 F6:F9 之和、G13 为 F10:F12
Q:在条件语句中如何实现符合某个时期的条件的记录进行统计,比如有1-12月份的记录单,需要实现对每个月里些数据的统计汇总/(格式如何?)
A: dongmu
以下公式,A列为日期列,B列为数据,要求计算1月份的累计:
=SUM(IF(MONTH(A:A)=1,B:B,0))
此为数组公式,在输完公式后,不要ENTER,而要CTRL+SHIFT+ENTER.(好象不足呀!程香宙)
A: tof :使用RIGET()或LEFT()函数就可以了,详细可以参考EXCEL的帮助
liberty:比如这样:
a1内容为dfgsd2163.com,g2er.g
我需要提取出,号以后的字符,g2er.g
:先使用SERACH或FIND函数找出“,”的位置,再用MID来取数,如A1=123,456,我想取出“,”以右的数,可以=MID(SEARCH(,),8)。可能我用的函数不行,不过思路一定行。
  你多看看帮助文件,我在网吧,此机无EXCEL无法试,不过我以前用过,用MID加SEARCH一定行的通,多试试吧。
  实在不行再给我邮箱发信了,愿意帮忙!祝你好运。
  我认为能用函数解决的最好不用VBA,你说呢?
markxg :假设A1中有dfgsd2163.com,g2er.g
=RIGHT(A1,LEN(A1)-SEARCH(",",A1,1))
missle:我今天也试着用公式解决了你的问题,思路与MARK的一样,只是他用的是SEARCH,我用的是FIND。但不是很清楚你的问题,是否要把“,”号一起给截取下来,如果是的话:公式应该是=RIGHT(A1,LEN(A1)-SEARCH(",",A1,1)+1),否则“,”号是无法截取到的。
把问题给纵深一下,如果单元格内有多个“,”的话,如A1中是:aa,bb,cc,dd 我想截取 cc,dd
该如何作呢?或者想知道这个单元格中含有多少个“,”又应该如何呢?(VBA的解决方法除外)
:Missle,你看仔细了,在Search函数中是有参数的,它允许你指定在第几个出现显出位置,如“,”你可以通过指定search参数选定第几次出现时的位置,对于截取我更认为MID比LEFT和RIGHT好
if函数判断
请问:如何用if函数判断,如果a1单元格大于0,b1单元格为0是错误,为非0是正确?
A: dongmu
if(and(a&=0,b=0),"错误","正确")
葡萄 :=if(a1&0,if(b1=0,"错误","正确"),"条件一不满足")
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Q:问题1是这样的:
1、在A1:A30单元格区域中输入500至600之间的数值;
2、在B1单元格中输入500;
3、在C1单元格中插入公式:
COUNTIF(A1:A30,"&=INDEX(B1,1)*0.9")
回车后C1单元格中显示的结果是0,为何不能把A1:A30中输入的数大于或等于500*0.9的单元格个数统计出来?错在哪里,该如何更正?
问题2有下面一个表格:
班级 姓名 政治 语文 数学 总分
1 小东 90 90 90 270 /2 明明 95 92 90 277 /3 小英 96 89 91 276
/要在K1:K3的单元格中分别显示总分最高的同学的班级、姓名、总分 .该如何设置公式?
答案1:建议你好好看看COUNTIF的帮助,真是搞不明白,为什么在B1里输入500而不是450呢?
COUNTIF不支持一个以上的条件,你应该用DCOUNT。
K1=INDEX(A2:F4,MATCH(K3,F2:F4,0),1)
K2=INDEX(A2:F4,MATCH(K3,F2:F4,0),2)
K3=MAX(F2:F4)
问题一:公式改为:=COUNTIF(A1:A30,"&="
& INDEX(B1,1)*0.9)
问题二:在K1:K3中分别输入如下公式(假设A1为"班级"):
=LOOKUP($K$3,$F$2:$F$4,A2:A4)
=LOOKUP($K$3,$F$2:$F$4,B2:B4)
=LARGE(F2:F4,1)
第一题:=COUNTIF(A1:A30,"&="&B1*0.9)
第二题:K1==INDIRECT("A"&MATCH(MAX(F1:F4),F1:F4))
K2=INDIRECT("B"&MATCH(MAX(F1:F4),F1:F4))
K3=MAX(F2:F4)
A和B&现在想要统计满足条件B=8的&并且在C列自动生成数据
427 8 427 /612 8 612 /924 8 924 /22 16 409 /94 16 /620 16 /955 16
请问 :假定有如上两列数据A和B ,现在想要统计满足条件B=8的 ,并且在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:$B$8)/100000,ROW
($A1)),IF($B$1:$B$8=8,0,1)+ROW($B$1:$B$8)/)))
B栏有100个选取条件,公式要修改100次 ,有甚么灵活性?,给字段名称,插入头两列.B1=SUBTOTAL(9,B4:B65536)
.解决掉所有问题 ,控件找自动筛选.
在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区域为姓名;定义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))}注:只要向下复制,便可得到1~6名的情况了。该公式可以无限排列。
Q:我有一个VBA编程的问题向你请教。麻烦你帮助编一个。我一定厚谢。
有一个数组列在EXCEL中如: 01 02 03 04 05 06 07 /和01 04 12 19 25 26 32 /02 08
15 16 18 24 28 /01 02 07 09 12 15 22/09 15 17 20 22 29
32/比较,如果有相同的数就在第八位记一个数。如 :01 04 12 19 25 26 32 2 /02 08 15 16 18 24
28 1 /01 02 07 09 12 15 22 2 /09 15 17 20 22 29 32 0
.这个数列有几千组,只要求比较出有几位相同就行。
解答:把“01 02 03 04 05 06 07 ”放在表格的第一行,“01 04 12 19 25 26 32
2”放第二行。
把以下公式贴到第二行第八个单元格“A9”中,按F2,再按CTRL+SHIFT+ENTER.
=COUNT(MATCH(A2:G2,$A$1:$G$1,0))
XLS文件头上菜单栏的“MIcrosoft EXCEL
A: Private Sub Workbook_Open()
Application.Caption = "程香宙专用表格"
Q:请教各位如何用将一组数据,
如:6550894, 9852547, 2656032, 7461136, 0505867, 5564892,
21077,我需要把数据中的数字1,3,5换为符号A表示,2,4,6换为符号B表示,依此类推将数据中的阿拉伯数字0~9分为几类用其它符号替换。
用VBA处理比较方便。 只用EXCEL函数,感觉代价太大。
假设:B13值为9550894在B14中输入=IF(ISERROR(FIND(MID($B$13,1,1),"135")),IF(ISERROR(FIND(MID($B$13,1,1),"246")),IF(ISERROR(FIND(MID($B$13,1,1),"79")),IF(ISERROR(FIND(MID($B$13,1,1),"80")),"","D"),"C"),"B"),"A"),C14中MID()第二个参数为2,以此类推...最后在目标单元格中输入:=CONCATENATE(B14,C14,D14,E14,F14,G14,H14)
dongmu :表一:
、2ABABABCCCD 、=SUBSTITUTE(A4,A$1,A$2)
说明:先列一个替换表,如表一,在A4处填如数据,在B4处填如上述公式=SUBSTITUTE(A4,A$1,A$2),并向右拖动9个同样的公式,最后一个便是结果.在将该10个相同的公式向下拖,便得到其它的结果.好处:可以修改表一,产生变化.
ACCESS :你可以把全部数据拷贝到WORD中,再用替换命令,想怎么换就怎么换,然后在拷贝回来。
,不复制转置被隐藏的行或列
解答:选择需要转置的单元区域,按下F5-->定位条件-->可见单元格-->复制-->选择性粘贴-->转置。
可不可以作到每次保存工作表时,无论保存时是在哪一个
SHEET,但是当下次再打开时,还是原来默认的那张工作表。比如SHEET1。谢谢!
解答:Private Sub Workbook_Open()
Worksheets("sheet1").Activate
有一列数据,全部是邮箱的,现在想将@前面的账号与@后面的域名分割开,分为两列,如何做?
解答:采用函数分割:例如:A1:
B1:=LEFT(A1,FIND("@",A1)-1) --& name
C1:=RIGHT(A1,LEN(A1)-FIND("@",A1)) --& 163.com
或:数据-分列-分列-分隔符号-@就可以了
现有两列数据A列与B列,我想把B列的数据合并到A列但必须是B1单元格的数放到A1的下面,B2放到A2的下面依此类推,有什么办法呢?
解答:=INDIRECT("r"&INT((ROW()+1)/2)&
"c"&MOD(ROW()+1,2)+1,0)
(一)EXCEL表中的列、行样式有两种:
一种标记样式为:
列(字段)以A,B,C,D......
行(记录)以数值1,2,3,4,5......
第一列第一行的单元格为A1
另一种标记样式为(取ROW和COLUMN的首位字母):
列(字段)以R1,R2,R3,R4,R5......
行(记录)以C1,C2,C3,C4,C5......
第一列第一行的单元格为R1C1
(二)请参阅INDIRECT函数的帮助说明!!!
=INDIRECT("r"&INT((ROW()+1)/2)&
"c"&MOD(ROW()+1,2)+1,0)
=INDIRECT("r"&INT((ROW()+1)/2)&
"c"&MOD(ROW()+1,2)+1,FALSE)
(三)工具--&选项--&常规--&设置,还可选取R1C1引用样式
解答:F5----定位条件----常量----确定----Del
或:F5->定位条件-&可见单元格-&确定-&DEL
Sheet2时,在Sheet1的A列的最后一个记录的下一行自动填上“End”
Private Sub Worksheet_Activate()
dim i as integer
i = Sheets("Sheet1").Cells(1, 1).CurrentRegion.Rows.Count
Sheets("Sheet1").Cells(i + 1, 1) = "End"
假设A1单元格为月份:
=TEXT((DATE(YEAR(NOW()),A1+1,1)-1),"d")
或:=DAY(DATE(YEAR(NOW()),A1+1,0))
SUM函数来讲,以下动态地址可行
1.SUM($A$1:A2),SUM(A$1:A2)
2.B2="A9",
SUM(INDIRECT("a1:"&B2))
3.B1="A1",B2="A9"
SUM(INDIRECT(B1&":"&B2))
4.B1="A1:A9"
SUM(INDIRECT(B1))
5.SUM(INDIRECT("A1:"&"A"&ROW()-1))
6.SUM(INDIRECT("A1:"&ADDRESS(ROW()-1,COLUMN())))
EXCEL中如何统计字数
用{=SUM(LEN(范围))}试试
A1:A20是编号,B1:B20是姓名,C1:C20是性别,当我在A21单元格输入A1:A20范围内的任意一个编号时,B21出现对应的姓名,C21出现对应的性别。该如何做,请帮忙。
解答:B21单元格公式“=IF(A21=0,"",VLOOKUP(A21,A1:C20,2,FALSE))”;C21单元格公式“=IF(A21=0,"",VLOOKUP(A21,A1:C20,3,FALSE))”这个公式也适用于A列编号不排序的情况,如果升序的话会更简单一点。
问:以上公式中的'false'有什么用?能否省略?
答:false参数主要是用它以后在A列中的数据可以不是升序排列。不然如果A列不是升序排列,公式会出错的。
答:在桌面上点右键─内容─外观,相关的设定都在此更改。
cell的时候,选了custom后在格子里输入你想要的位数,不变的部分就照着打进去,会变得部分打0就好了,(用0占位)。
例如:你要打的数字是56,后6位是不定的,那你要打在格子里面00。这样如果你输入最后3位是012,那么会显示出12;如果你输入54321,那么会显示出21。
如果你会变得部分是在数字的中间,比如我的item#会是-0000002,后面的-0000002是不变的,那我就可以设置自定义格式为"-0000002",这样当我键入502的时候就会显示-0000002。
选中隐藏的上、下行,右击鼠标,选“取消隐藏”(作者注:此法可行)
2:Ctrl+A-----格式-----行-----取消隐藏(可以,能够一次显示所有隐藏的行或列)
3:另一法(工作表处于未保护状态):假如 A1 被隐藏了在名称框中键入A1,回车按 Ctrl+Shift+0 或
Ctrl+Shift+9(只显示选定的隐藏列或行)
4:光标移到行号 4 上部变成 上下箭头状, 按住了, 拖也要把它拖出来!(慢,不好操作)
5:选择整个工作表(点击左上角),然后再选择菜单中的行,选择最适合的行高,然后就OK!,同样可以把隐藏的列显示出来。(这个办法最好,能够一次显示所有隐藏的行或列)
例:取两位有效数是从第一个不是零的数字起,取两位。0.0023666取两位有效数是0.0023
。0.2366取两位有效数是0.23。
解答:用函数可如下: =FLOOR(A1, SIGN(A1)*10^(INT(LOG(ABS(A1)))-1)), +/-
小数有效,0无效.
其它形式的数据, 自行扩展.
工作表的A1、A2、A3单元格分别链接到sheet2、sheet3、sheet4
=indirect("sheet"&row()+1&"!a1")《程香宙的解释:indirect是把文本变为单元格引用的函数row()是取当前行号。例如在a1输入该公式,则row()=1,公式里的值变为indirect("sheet2!a1"),跟=sheet2!a1同效,在a2输入该公式,则row()=2,公式里的值变为indirect("sheet3!a1")》
2、使用插入----超级链接----书签----(选择)----确定
SUMIF函数进行条件求和,不限于一个条件时如何设置参数
例如:有一个表格登记面粉、米粉、糯米、梗米、绿豆、早米……等等的进出流水帐,如果对满足单一条件的如面粉、糯米、绿豆等分别求和是没有问题的,但如果要将同一类的求和,例如将糯米、梗米、早米的数值加在一起,应该怎么办?
解答:提供以下公式供参考,设A列为名称、B列为数量:
=SUMIF(A:A,"糯米",B:B)+SUMIF(A:A,"梗米",B:B)+SUMIF(A:A,"早米",B:B)
如B1:D1为求和条件项,即B1="糯米",C1="梗米",D1="早米",
上述公式还可改为:
=SUMIF(A:A,B1,B:B)+SUMIF(A:A,C1,B:B)+SUMIF(A:A,D1,B:B)
excel中已有的数值前加零变成六位
比如说 25、369、1569等,操作后变成
解答:如果直接输入的话,可以在数值前面加“'”,如“'002020”;
如果处理现成的数据,或者从别处(比如从A1单元格)链接来的数据,可以用公式:
=RIGHT("00000"&A1,6)
解答:找个干净的地方, 去掉网纹等不需要的东西, PrintScreen 再编辑
解答:1、用绘图工具画出斜线&&画方框&&内添加文字&&去边框
2、引用WORD中的,然后再复制过来就可以!
A列有一组数据不是按照大小顺序排列在B列中排名
解答:方法1、将A列COPY到B列,再排序。
2、rank函数(=RANK(A2:A11,$A$2:$A$11,0)(假设数据在A2:A11单元格,下同)
3、使用contif函数进行排列“=countif(a$2:a$11,"&"&a2)+1"
B2所在行都呈红色字体
解答:假设你有一个B列和一个A1的值,你的目的是,如果B2=A1的话,整个B列都为红色显示!
设置如下:先选定整个b列,也就是在B列列标处单击(废话~^_^),选择格式-条件格式
出现条件格式对话框,单击左边的下拉列表,里面只有两项,单元格数值和公式,选中公式,右边就可以输入任何可以返回逻辑值的公式了。输入这个公式=($B$2=$A$1)。千万注意要用绝对引用,因为如果是相对的,excel又自作主张的一个一个判断了,就没有作用了。(绝对正确并且好用)
12个工作表,是12张发票,建立一个汇总表,将发票号和金额汇总显示在一张表里
(发票号和金额在每张表的相同位置).
解答:在A1输入 =INDIRECT("sheet"&ROW()&"!d3")
在B1输入 =INDIRECT("sheet"&ROW()&"!d10")
再选择A1:B1往下复制到第12行。
按“Ctrl+~”可以一次显示所有公式(而不是计算结果)。再按一次回到计算结果。(程香宙)
b1:G7)中找到A行一组数据中的某个数并自动变红
解答:其实也很简单,你只要选定你的b1:g7,设置它的条件格式为=(COUNTIF($A$1:$A$7,b1))
注意,b1为相对引用,这里输入所选区域的第一个取值,那样你的所选区域会自动填充.达到你要的效果。(好)
sum(a2/b2,a3/b3,…)的结果
解答:输入=sum(a1:a100/b1:b100),按ctrl+shift+Enter。
解答:为简单起见,表格需作一下调整,将 "星期日" 移到 C1,其后依次,这也符合规则(请参阅函数: WEEKDAY()).
。在 C2 键入数组公式: {=SUM(IF(WEEKDAY(DATE($A2,$B2,ROW(INDIRECT("$A$1:$A$"
DAY(DATE($A2,$B2+1,1)-1)))))=COLUMN()-2,1))},向右复制、向下复制。公式解释一点:ROW(INDIRECT("$A$1:$A$"
& DAY(DATE($A2,$B2+1,1)-1)))实际上是从 1
号测试到本月的最后一天.如需要,公式可再作精简。
解答:使用subtotal函数,详细用法参见帮助。
Excel里面多出很多的空白行
解答:1、用分面预览看看
2、用自动筛选然后删除
3、用自动筛选,选择一列用非空白,空白行就看不到了,打印也不会打出来。但是实际上还是在的,不算删除。或者用自动筛选选择空白将空白行全显出来一次删完也可以。
4、先插入一列,在这一列中输入自然数序列,然后以任一列排序,排序完后删除数据后面的空行,再以刚才输入的一列排序,排序后删除刚才插入的一列。
1、表2分别有20个人的基本情况和其中10个人的名字,让表1的数据自动填充到表2
答:1、用lookup函数即可。要保证20人不重名;
2、假设表1的D列对应表2的E列。E2的公式:=VLOOKUP(B2,Sheet1!B:D,3,FALSE)
vlookup函数返回#N/A符号时将此符号用0或空格来代替
答:这样处理:
=IF(ISNA(VLOOKUP(C13,A1:B10,2)),0,VLOOKUP(C13,A1:B10,2))
或:IF(ISERROR(vlookup(a1,e1:g10,2,0)),0,vlookup(a1,e1:g10,2,0))。
答:输入=RIGHT(RC,1)="计";设定字体、边框、图案;确定。
答:crtl+g-选可见单位格-复制-粘贴。
答:1、选“格式”---“工作表”----“隐藏”
2、使用VBA这样隐藏后在使用工作表保护。
Alt+F11----Ctrl+G----出现立即执行窗口,在此窗口内执行
Sheet1.Visible = xlSheetVeryHidden
这样隐藏后sheet在格式---工作表----取消隐藏是看不见的。
问:方法2更好哦,如何恢复呢?
答:sheet1.Visible =xlSheetVisible
屏蔽工具菜单宏
sub notool()
MenuBars(xlWorksheet).Menus("工具").Delete
sub yestool()
MenuBars(xlWorksheet).reset
Alt+F11 进入VBA 编辑、插入模块、将上面宏复制到模块、运行宏。OK
我在工作中需快速复制每行多个数据(单元格)中最小值所对应的“标题名”,如E6是C6:Y6中的最小值,所对应的标题是E5单元格“某某公司”,要将其(某某公司)复制到B6单元格中,以此类推的复制很多很多行的内容。如果是手工一个一个查找与复制,实在是太慢太笨了,能否使用一个简单的公式计算呢?
答:B6单元格"=INDEX(C$5:Y$5,MATCH(MIN(C6:Y6),C6:Y6,0))" 
我有个同事在一张空白表依次输入数据,为了省事她把和上一格内容相同的的省略不输,输了近200行。后来又觉得不够正式,想把空白的地方补上。她来问我怎么办好。当然依次填充也行,但我觉得烦(如果有2000行怎么办呵呵)我想了一个不是办法的办法:在A列和B列旁各插入一列,现在就有ABCDE列,我在B2中复制了A2中的内容,然后在B3中输入公式:IF(A3=0,B2,A3),然后往上往下复制公式。这样就填满了。如法炮制D列后隐藏AB列感觉就可以了。可是也烦啊,谁有更好的办法?
答:1、Sub feifjeifjeifjeifjeifjiefjiejfiejf()
For i = 2 To ActiveSheet.Range("a1").CurrentRegion.Rows.Count
If IsEmpty(Cells(i, 1)) Then
Cells(i, 1).FormulaR1C1 = Cells(i - 1, 1).Value
2、筛选出空白行,输入公式=INDIRECT("a"&ROW()-1),填充
我在五月份做六月份的计划,为减少工作量和更改的麻烦,我做模板并使用了公式="计划期:"&YEAR(NOW())&"年"&(MONTH(NOW())+1)&"月",结果如A1所示
计划期:2002年6月(现在的系统日期是2002年5月)。&如果我想自动得到如A2中的结果
计划期:二○○年六月 ,请问要如何做才行,我设置了单元格的日期格式还是不行。
解答:1、先设置单元格格式为"二○○二年六月"那种类型,然后用如下公式:=DATE(YEAR(NOW()),(MONTH(NOW())+1),20)就可以了。
2、使用这个函数吧! =EDATE(NOW(),1)。单元格格式应设置为:日期----一九九七年三月。
3、设置单元格格式为:[DBNum1]"计划期:"yyyy"年"m"月" ,然后直接输入日期

我要回帖

更多关于 excel怎么设置负数格式 的文章

 

随机推荐