分享

EXCEL问题大全(1)...

 w3322laile123 2008-05-27

引用问题

我在excel中想实现这么一个功能,如单元格D12有一个数据是4,现在我想引用A4的数据,但4是由D12提供的,即如何实现A4=A(D12)。也就是,在Excel中,A7单元,能否实现把后面的数字用算式来代替,如A(3+4),或者是单元格的嵌套,A(D12),恳请高手解答。
解答:①=indirect("a"&d12)
我的想法:借一个单元格如B4用,键入="A"&D12 在需引用的单元格键入=INDIRECT(B4)
即可,第二个:C43C54 B4="A&C4+C5 ,同①。

如何在一列列出工作薄中的所有表(表名无规律)

以下宏将在a列传回所有工作表名称。(很实用)
Sub Maco1()
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
Next
End Sub

18身份证号码输入的几种解决方法

相信在EXCEL这个软件中如何输入15位或18身份证号码的问题已经困挠了许多人,因为在EXCEL中,输入超过11位数字时,会自动转为科学计数的方式,比如身份证号是:123456789012345,输入后就变成了:1.23457E+14,要解决的方法有非常非常......多种哦,呵呵,现在为大家说几种比较简单快速的方法:
  1、在A1单元输入号码时,在前面先输入’号,就是:’123456789012345,这样单元格会默认为该单元为文本方式,会完整显示出15个号码来,而不会显示那令人讨厌的科学计数方式来了。
  2、如果已经输入了大量的号码,全部以科学计数显示的话,而又懒的按照上面的方法一个一个的重新输入的话,也有这个好方法哦,比如已在单元A1A100输入了号码,按以下步骤做:》选择单元A1A100》单击鼠标右键,设置单元格式》选择自定义,在‘类型’中输入‘0’即可,轻松搞定,呵呵!!
  3、还有一种用函数来解决的方法:在A1A100已经输入大量的号码时,在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表示true;0表示 false。有时需要将truefalse转换成数值,可以*1+0

几个工作表生成一个打印文件一次打印

解答:先按 Ctrl + 其它要一起打印的工作表就会成为一个群组,打印的页数可延续到下一个Sheet

自动计算应收款滞纳金

要求在给定的应收日期、滞纳金率、当前日期(自动取)的基础上自动计算出应收滞纳金。
解答:=(DATEDIF(应收日期,NOW(),"d"))*滞纳金率(每天)*应收金额

SUM函数难题

AB
234
230
12

10
13
如何用函数计算出下面几个数据
1
AB都有数据且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)
End If
Next Rng
End Sub

COUNTIF计算整个B列中含有“F”这个字符的单元格的个数

c1=COUNTIF(b1:b130,b129),(b129单元格内的字符是“F”),问题是随后在向表格中添加新行131132133.....之后,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中绘制的曲线图表另存为jpggif格式的图片

解答:选定图表部分,复制它,打开可以编辑jpggif格式的软件,然后粘贴保存为jpggif格式文件即可。

round函数

解答:不要用工具条上的显示小数位数来控制小数位数,它只是显示这几位,实际还是按原来的数计算。如: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-10)时会出错。
或:=INDIRECT("sheet"&A1&"!$A$1")

汇总

有这样一个问题,学校里共有24个科目(每个科目都有其代码,每门科目都有它相应的教材费),但学生最多只能选其中4门科目,那么我在一个表里每个记录中存储学生所选的4门科目的代码,并要在该表里汇总4门科目的总教材费,怎么汇总。(各门科目代码及对应的教材费存在另一个表里)。
解答:你可以这样:
1
,表2
序号 科目 教材费 /1 语文 120 /2 数学 100 /3 英语 150 /4 政治 70 /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中可否实现票面分解

解答:我在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.01 /0.01 1 0.00 /第五行以下的数据就不需要一一输入了,选中C列和D(C4D15),按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<=平均分<9060<=平均分<80的奖励金额数放在单元格N5..N7中,请利用公式计算出每位同学赢得的奖金。 /3 1年级学生工资为80元,2年级工资为100元,3年级工资为110元,请计算出每位同学的工资数,并根据工资数和奖励数计算每位同学的工资总额。
解答:1. 计算年龄:=INT(((YEAR(NOW())-YEAR(C2))*12+MONTH(NOW())-MONTH(C2))/12) (注意学生生日在C )
2.
计算工资: =IF(LEN(E2)>0,CHOOSE(E2,80,100,110),"") (注意学生年级在E
)
3.
奖励: =IF(J2>=90,$N$5,IF(J2>=80,$N$6,IF(J2>=60,$N$7,""))) (平均分在J)

隔行求和问题

若有20列(只有一行),需没间隔3列求和,该公式如何做?前面行跳跃求和的公式不管用。
解答:假设a1t1为数据(共有20列),在任意单元格中输入公式:=SUM(IF(MOD(TRANSPOSE(ROW(1:20)),3)=0,(a1:t1)) /ctrlshiftenter结束即可求出每隔三行之和。

 
 
 
最近读者

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多