按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
4 ) 4 )“编辑”—— “选择性粘贴”——粘贴链接。
385
…………………………………………………………Page 386……………………………………………………………
方法 2 :
1。如果要链接本工作簿中的工作表或工作表上的某个单元格:右键点单元格,超键接,”链接
到:‘选{本文档中的位置},在列表中选择需要链接的工作表(或区域名称),在“单元格
引用中”输入需要键接的单元格(这样可以指定链接到特定单元格)。
注意:你看到设置超链接对话框左边的“链接到:”下面的 4 个选项没有?选“本文档中的位
置”
如果你要的是第一种效果,可能是这里忘了选。
2。如果要链接别的工作簿的某一张工作表或单元格:右键点单元格,超键接,”链接到:‘选
{原有文件或Web 页},在列表中选择需要链接的工作簿,点击右边的'书签按钮' (这里就是
你所要的啦)。剩下的设置和上面的差不多了。
如果你要的是第二种效果,可能是没有打开书签进行设置。
3。也可以在设置对话框中的地址栏中手工输入地址;如
C:My Documents工作簿名称。xls#sheet2!C13
这样就链接到 C:My Documents工作簿名称 工作簿中的 sheet2 表的 C13 单元格。
其实在设置的时候把各个设置选项都点一点,看一看,设置应该不成问题。
方法 1 提供的方法,其实是引用别的工作簿的单元格数值的方法,这也是一个不错的技巧。
请教日期计算的函数
问题 1:如何计算两个日期间相差的月数:
方法 1:
Datedif 函数,但是这个不会考虑 1 号…30 号这样的差距,好像 5。1…5。30 相差是 0 个月,但是有
时候习惯算做 1 个月的。
要么就用公式折算咯,
=(year(2010…5…24)…year(2000…3…25))*12+month(2010…5…24)…month(2000…3…25) 甚至可以计算到天
的。主要还是看你计算要求的精度。
方法 2 :
=DATEDIF(DATEvalue(C3);DATEvalue(E3);〃m〃)&〃个月
方法 3
A1 = 1 May 2003; A2 = 30 May 2003
A3 = DATEDIF(A1;A2;〃y〃) & 〃年 〃 & DATEDIF(A1;A2;〃ym〃) &〃个月 〃 & DATEDIF(A1;A2;〃md〃) &〃
天〃
方法 4:
if C3 = 25 Mar 2000; E3 = 24 May 2010
=DATEDIF(C3; E3;〃m〃) & 〃个月〃(这个办法好象不对)
或者直接写成:=DATEDIF(〃2000/3/25〃; 〃2010/5/24〃;〃m〃) & 〃个月〃
DATEDIF 函数解释:计算两个日期之间的天数、月数或年数。提供此函数是为了与 Lotus 1…2
…3 相容。
语法:DATEDIF(start_date;end_date;unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:
带引号的文字符串(例如 〃2001/1/30〃)、序列数(例如,如果使用 1900 日期系统则 36921 代
表 2001 年 1 月 30 日)或其它计算式或函数的结果(例如,DATEvalue (〃2001/1/30〃))。有关
日期序列数的详细资料,请参阅 NOW。
End_date 为一个日期,它代表时间段内的最后日期或结束日期。
386
…………………………………………………………Page 387……………………………………………………………
Unit 为所需信息的传回类型。Unit 传回 :〃Y〃 周期中的整年数。〃M〃 周期中的整月数。〃D〃 周
期中的天数。
〃MD〃 start_date 与 end_date 日期中天数的差。忽略日期中的月和年。〃YM〃 start_date 与 en
d_date 日期中月数的差。忽略日期中的日和年。〃YD〃 start_date 与 end_date 日期中天数的
差。忽略日期中的年。
批注:Microsoft Excel 按顺序的序列数存盘日期,这样就可以对其进行计算。如果活页簿使
用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日储存为序列数 1。而如果活页簿使用 1904 日
期系统,则 Excel 会将 1904 年 1 月 1 日储存为序列数 0,(而将 1904 年 1 月 2 日储存为序列
数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日储存为序列数 35796,因为该日
期距离 1900 年 1 月 1 日为 35795 天。学习关于 Microsoft Excel 如何储存日期和时间的信息。
Excel for Windows 和 Excel for Macintosh 使用不同的预设日期系统。有关详细资料,请参阅 N
OW。
范例:DATEDIF(〃2001/1/1〃;〃2003/1/1〃;〃Y〃) 等于 2,即周期中有两个整年。
DATEDIF(〃2001/6/1〃;〃2002/8/15〃;〃D〃) 等于 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日
之间有 440 天。
DATEDIF(〃2001/6/1〃;〃2002/8/15〃;〃YD〃) 等于 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,
忽略日期中的年。
DATEDIF(〃2001/6/1〃;〃2002/8/15〃;〃MD〃) 等于 14,即开始日期 1 和结束日期 15 之间的差,忽
略日期中的年和月。
问题2:2011 年 8 月 23 日减去15 个月是什么日期
解答:=date(2011;8;23)…date(0;15;0)
问题3 :如何取日期的前两位
用日期函数 today()显示 25…03…03 即 03 年 3 月 25 日,我想用left(today();2)取 25 日这个数字,
可是 left 只能用于字符串,不知该如何解决这个问题?
解答:①=day(now())
② =day(today())
③=TEXT(A1;〃dd〃)
④=LEFTB((TEXT(A1;〃dd…yyyy…mm〃));2)
一个用数组公式计算人数的问题
年级成绩统计时,要计算 N 列值不小于 360 的 1 班人数,我用数组公式来求,即
{=sum((A4:A723=BH4)*(N4:N723》=360))},现在的问题是,我想计算值在 359 -320
之间的 1 班人数,应该怎么写公式?
解答:{=sum((A4:A723=BH4)*((N4:N723》=320)…(N4:N723》=359)))}
如何将一个单元格复制确定个数
我在复制单元格时,先选中,再到该格右下角等小加号出现,往下拉,因为我要复制 100 多个,
经常拉不好,一下就跑到好几百个了,往回拉又过了。感觉不方便,请问有没有好办法,想复
制多少就多少个。
解答:①选中要复制的源单元格,在按住 Shift 键的同时移动到想要粘贴的目标单元格,选中
它。这时就选中了源单元格到目标单元格的竖列。然后单击“编辑”→“填充”→“向下填充”。
②选中复制单元格………复制………将光标移动到下一个单元格……………将滚动条移动到你想要复制的位
置…………按下 shift 键……左键单击选中想要复制的单元格…………粘贴
387
…………………………………………………………Page 388……………………………………………………………
③还可以用右键填充,到达终止单元时从弹出的菜单中选择你所需要的方式。
另外无论用哪一键拖曳,不要用劲往下拽,拉到文档窗口与状态栏的边缘,当 EXCEL 在自动
显示下方行数时,就可停住(不要松开鼠标),只须观察填充柄旁的提示,满足你的要求时,
即可松开鼠标。
一个小发现
分享一下,一个小发现,或许大家可能已经知道,但于我而言,今天无意发现。
在 EXCEL 中,填充句柄对单元格的复制,相当方便,除了可以用CTRL 和右键拖动外,在按
下 SHIFT 的同时,使填充句柄的黑色小方块变成键头状(呈调整行高状),此时,将会复制条
件格式和数据有效性,而原有数据将不会被复制;另外,当 A1 与 A2 都有数据时,按上述方
法拖动填充句柄,可以在 A1 与 A2 (数值)间插入,但行号不变(即不影响其它列)。
如何汉化英文加载宏
对于在编码中有的菜单或对话框,可以破解后直接汉化(引号内的内容)
对于有些在编码中没有菜单的词存在,可以将 ThisWorkBook 属性中的 IsAddin 设成 False ,您
就会发现〃菜单中的词〃是放在工作表中了
汇总多张表中数据
如何将多张表中数据汇总,每张表名为日期格式,如“20030901 ”,且日期不一定连续,每张
表的数据格式相同,而且表会不断的增加,如何设定公式在增加表后自动汇总所有工作表中相
同位置单元格的数据?
解答:1、将汇总表移至最后,定义名称
csht_name=MID(GET。DOCUMENT(1);FIND(〃'〃;GET。DOCUMENT(1))+1;100)&T(NOW())
sht_name=MID(GET。WORKBOOK(1);FIND(〃'〃;GET。WORKBOOK(1))+1;100)&T(NOW())
total=SUM(N(INDIRECT(IF(sht_name=csht_name;INDEX(sht_name;1);sht_name)&〃!〃&ADDRE
SS(ROW();COLUMN()))))…N(INDIRECT(INDEX(sht_name;1)&〃!〃&ADDRESS(ROW();COLUM
N())))
在公式单元格中输入:=tatal
2 、
total=SUM(N(INDIRECT(INDEX(sht_name;ROW(INDIRECT(〃1:〃&GET。WORKBOOK(4)…1)))&
〃!〃&ADDRESS(ROW();COLUMN()))))。GET。WORKBOOK(4)为工作薄中的总表数。
(N 是什么意思?如果要计算平均值,可否将sum 换成 AVERAGE )
N 函数是将 INDIRECT 函数生成的数组转为二维数组(不知 excel 中为什么要这样?),否则
只能计算数组中的第一个值或返回错误。
不能直接用 AVERAGE 函数,因为中间的个数不同,可用以下的公式定义名称
avg=(SUM(N(INDIRECT(IF(sht_name=csht_name;INDEX(sht_name;1);sht_name)&〃!〃&ADDRE
SS(ROW();COLUMN()))))…N(INDIRECT(INDEX(sht_name;1)&〃!〃&ADDRESS(ROW();COLUM
N()))))/(COLUMNS(sht_name)…1)输入=avg 即为平均值。
去掉工作表中的公式
工作表中含有大量公式,在数据处理完后,想去掉这些公式,仅保留数值另存,相于: 选
中全表—复制— (在原位置)选择性粘贴—数值。请问用 VBA 语句如何编写?