海南省BIM中心

 找回密码
 注册请加微信xycost

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 240|回复: 7

Excel 问题解答

[复制链接]

0

主题

2794

帖子

5298

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5298
发表于 2014-6-23 10:52:23 | 显示全部楼层 |阅读模式
如何在一列列出工作薄中的所有表(表名无规律)
以下宏将在a列传回所有工作表名称。(很实用)
Sub Maco1()
For i = 1 To Sheets.Count
Cells(i, 1) = Sheets(i).Name
Next
End Sub
几个工作表生成一个打印文件一次打印
解答:先按 Ctrl键 + 其它要一起打印的工作表 就会成为一个群组,打印的页数可延续到下一个Sheet
自动计算应收款滞纳金
要求在给定的应收日期、滞纳金率、当前日期(自动取)的基础上自动计算出应收滞纳金。
解答:=(DATEDIF(应收日期,NOW(),"d"))*滞纳金率(每天)*应收金额

回复

使用道具 举报

0

主题

2794

帖子

5298

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5298
发表于 2014-6-23 10:52:23 | 显示全部楼层
SUM函数难题
A B
234 230
12
10 13
如何用函数计算出下面几个数据
1。A和B都有数据且A>B的个数
2。A栏在相应的B栏有数据的情况下的数据总和,例如A1对应B1有数据,A3对应B3有数据,则求A1+A3的和。希望都能用一个函数求出所要的结果。谢谢
解答:=SUM(($A$1A$10"")*($B$1B$10"")*($A$1A$10>$B$1B$10))
=SUM(($A$1A$10"")*($B$1B$10"")*($A$1A$10>$B$1B$10)*($A$1A$10+$B$1B$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”),问题是随后在向表格中添加新行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 结束,之后向下填充公式.

回复 支持 反对

使用道具 举报

0

主题

2830

帖子

2657

积分

论坛游侠

Rank: 1

积分
2657
发表于 2014-6-23 10:52:23 | 显示全部楼层
整点记录坐标值
我在监测一个点的电压值,每天正点记录一次,这样每天就产生了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格式文件即可。
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-1=0)时会出错。
或:=INDIRECT("sheet"&A1&"!$A$1")

回复 支持 反对

使用道具 举报

0

主题

2726

帖子

2652

积分

论坛游侠

Rank: 1

积分
2652
发表于 2014-6-23 10:52:23 | 显示全部楼层
在EXCEL表里建立唯一索引在该列输入重复的数值后自动提示输入错误
解答:1、选定你要限制输入的列(假设是A2:A20),选菜单的“数据”-“有效性”;
2、在许可条件中选定“自定义”,在公式一拦中,输入你要求的限制, 例如:“=COUNTIF($A$2A$20,A2)=1 ”。
3、你还可以在“输入信息”和“出错信息”输入一些提示信息。
不过,你一定要注意!这个功能只能在你从键盘上键入数据时有效!拷贝和粘贴数据的操作是无效的。
发票小写金额填充
我输入123456.52它自动给拆成¥1 2 3 4 5 6 5 2 的形式并且随我输入的长度改变而改变?
解答:我所知函数不多,我是这样做的,如有更方便的方法,请指点
例如:
在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(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个,如: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-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
End If
Next i
End Sub
“本程序需要把要变换的数据命名为"数据"(数据区的列数可以任意,不一定是5)方法:选中该区域,在名称框内输入"数据"即可,然后按程序要求输入每行要填的数据行的数目(如本例中的12)

回复 支持 反对

使用道具 举报

0

主题

2726

帖子

2652

积分

论坛游侠

Rank: 1

积分
2652
发表于 2014-6-23 10:52:23 | 显示全部楼层
如何给自动筛选中的自定义指定快捷键
解答:Sub 自动筛选()
On Error GoTo xx
Selection.AutoFilter = True
xx:
End Sub
汇总问题
本人有以下一个问题需要解决,请诸位大虾指点迷津。
如下表:
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)。
方法4:
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(D330,"c")*4)
如何用if函数判断,如果a1单元格大于0,b1单元格为0是错误,为非0是正确
解答:1:if(and(a2:=if(a1>0,if(b1=0,"错误","正确"),"条件一不满足")
我改进以下一个验证先进先出法公式
=IF(B3

回复 支持 反对

使用道具 举报

0

主题

2670

帖子

5461

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5461
发表于 2014-6-23 10:52:23 | 显示全部楼层
我想查询表格中的某一列编号中有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$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","")
一个页面在打印一次后是否能在上面的某一单元格数值上加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<>“”,那么B2=A2 B3=A3
如何使用其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",A1:A5,0))

回复 支持 反对

使用道具 举报

0

主题

2670

帖子

5461

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5461
发表于 2014-6-23 10:52:23 | 显示全部楼层
排名问题
在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的单元格中分别显示总分最高的同学的班级、姓名、总分,在L13的单元格中分别显示总分第二的同学的班级、姓名、总分,在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,比较好。
统计满足条件的数据并生成新的数据列
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,现在想要统计满足条件B=8的 ,并且在C列自动生成数据,我不懂公式怎么写,我知道筛选能够做到,但是由于数据量比较大 ,想做一个模板,免去一些重复劳动。
解答:=IF(ROW($A1)>COUNTIF($B$1B$8,8),"",INDEX($A$1A$8,MATCH(SMALL(IF($B$1B$8=8,0,1)+ROW($B$1B$8)/100000,ROW
($A1)),IF($B$1B$8=8,0,1)+ROW($B$1B$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
姓名 部门 /李四 /。。。
要在sheet2表中将sheet1表的相同人员资料复制过来可在b表 单元格b2中输入
”=vlookup(a2,sheet1!a1g2000,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)
EXCEL中如何修改批注的字体和颜色
解答:视图--批注 然后在批注上单击右键 选择设置批注格式
如何以进阶筛选命令筛选出“序号”为单数、双数、或者是任意间距值的records
序号 姓名 性别 年龄
1 李1 男 30 /2 李2 女 25 /3 李3 女 22/4 李4 男 31 /: : : : /99 李99 男 28
解答:在“序列”与“姓名”之间插入一个空列,在其第一格输入“条件”。在“条件”下面输入公式“=IF(MOD(A5,2)=1,"单数","双数")”,用“自动筛选”。
n2=sum(b2到m2) 、n3=sum(b3到m3) 、有没有办法让n那一列可以自动填充
就是说每增加一行,就会自动计算n那一列的值 、多谢!
解答:1:我有个笨方法,须用VBA,不知和你意否。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column End Sub
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$1D$10中有连续10行资料,在sheet2中把sheet1中的数据每行间隔2行
sheet2!A1中公式可用
=IF(ROW()=1,Sheet1!A1,IF(MOD(ROW(),3)=1,INDEX(Sheet1!$A$1D$10,INT((ROW()-1)/2)+1,COLUMN()),""))
然后填充公式(

回复 支持 反对

使用道具 举报

0

主题

2522

帖子

2357

积分

论坛游侠

Rank: 1

积分
2357
发表于 2014-6-23 10:52:24 | 显示全部楼层
当点到某单元格时单元格会出现一个下拉的列框,可以选取其中的数据
解答:[数据]-[有效性]-[序列]
又问:好像选取数据只能在本页面,有无高招选取另外页面的数据源,甚至是另外工作薄的?
解答:先在“插入-》名称”中定义好其它页面上需要引用的数据源的名称(AA)。然后 [数据]-[有效性]-[序列] ,在“数据源”栏输入“=AA”。
或:若改其它活页薄要如何修改下列式子?( 假设活页薄名称为book1)
=Sheet1!$A$2A$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!$AA,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$1h$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:="请输入批注内容"
Else
Sheets(1).Cells(i, 2) = "左侧单元格批注" & a
End If
Next i
End Sub

回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条


QQ|小黑屋|手机版|Archiver|ChinaBIM ( 琼ICP备14001050号-1 )

GMT+8, 2024-12-22 11:26 , Processed in 0.041482 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表