按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
=Sheet1!A2:A14(book2)
查找与引用
有一个表格:
承兑行 天数 实际天数
326
…………………………………………………………Page 327……………………………………………………………
深圳工行 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
327
…………………………………………………………Page 328……………………………………………………………
2、有关数据区域——必须是绝对引用,也就是数据区的行列要用符号修饰。例如:从 a1 到
h50 是数据,则应该写为:a1:h50
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)。ment。Text
If Err。Number = 91 Then
Sheets(1)。Cells(i; 2) = 〃左侧单元格无批注〃
Sheets(1)。Cells(i; 1)。Addment Text:=〃请输入批注内容〃
Else
Sheets(1)。Cells(i; 2) = 〃左侧单元格批注〃 & a
End If
Next i
End Sub
根据 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
328
…………………………………………………………Page 329……………………………………………………………
Selection。EntireRow。Hidden = True
end if
next i
直接输入一组数如“20020213101235”后,自动转换成日期格式
解答: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
Next r
End Sub
A 列记录几百条,如何对这列计数(重复的数值不计)
我只能做到新建一列,B 列,然后第一个单元格 countif (A1:A100;A1),然后拖动到全部
新列。最后在新列下面用 sumif(B1:B100;1) 谁有更好地方法?
解答:1、试试这个:{=SUM(IF(COUNTIF(A1:A100;A1:A100)=1;1;0))}
2、操作:①A1 作公式栏,A2 作字段名栏,如原该两栏有数插入 2 行。在 A1 输入:
=SUBTOTAL(3;A2:A5000) 统计记录数或:=SUBTOTAL(9;A2:A5000) 数据汇总
②选:数据……》筛选……》高级筛选……》选择不重复的记录。
③复原选:数据……》筛选……》高级筛选……》全部显示。
3、试试这个: {=SUM(IF(A1:A100=〃〃;〃〃;1/(COUNTIF(A1:A100;A1:A100))))}
4、请解释一下;因为我单独使用COUNTIF(A1:A100;A1:A100)数组公式时;它仅仅计算
第一个也就是 A1 的个数。
5、我发觉你的这办法,只对唯一的数据进行了计数,而重复的数据全部未计入(是不是应该
将重复的数据也计上一个?)打哈欠的“ {=SUM(IF(COUNTIF(A1:A100;A1:A100)=1;1;0))}”也
是这样。
TO 剑魔版主你公式中的“1/(COUNTIF(A1:A100;A1:A100))”像是一个倒数,怎么理
解?
6、用倒数是这个意思:如果只出现一次,数组中的相应项统计为 1,其倒数为 1,Sum 统计计 1
如果出现 N 次,其倒数为 1/N,出现了N 次,求和就是 Nx1/N,最后 Sum 统计就只计 1。
329
…………………………………………………………Page 330……………………………………………………………
如果有文本串〃YY0115〃,我想取第三、四的值〃01〃,应该用什么函数
解答:1、=mid(〃YY0115〃;3;2)&〃〃
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(INDIR
ECT(〃A1:A256〃));〃〃));2)}
怎样将文字和数字分 2 列显示
中行41785015110010091252、青泥支行 200303004500696、卡伦办事处 801017651、站前支行
0709000309221004055 、金州支行 400301459508091
解答:1、用函数可以解决。 假如 A1 为 中行41785