友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

Excel word ppt office使用技巧大全(DOC格式)-第62章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




在帮助文件里还有hour;minute;second不再范围情况,这时候,如何计算的呢?   

1、second/60;除的整数为minute;mod(second;60)为second    

2、minute/60,除的整数为hour;mod(minute;60)为minute    

3、hour/24,mod(hour;24)为hour    

最后再用hour/24+minute/(24*60)+second/  (24*60*60)计算。  

帮助中的例子:time(0;0;2000)=0。023148如何算的呢?   

2000/60=33 mod(2000;60)=20    

time(0;0;2000)=time(0;33;20)=0/24+33/(24*60)=20/(24*60*60)=0。023148    

呵呵,其实没有什么用,会用这个函数就可以可,如何算的就不必在意了!!!   

033。年月日的问题   

EXCEL表格中年月有时候输入不对,(早已记录过大量数据,改写麻烦。)比如198001,意 

思是1980年1月,可是设置单元格式日期只有年月日,没有年月。怎么做?   

解 答 : 插 入 一 辅 助 列 , 假 设 198001 在 E1 , F=IF(MID(E1;5;1)=〃0〃;LEFT(E1;4)&〃 年 

〃&RIGHT(E1;1)&〃月〃;LEFT(E1;4)&〃年〃&RIGHT(E1;2)&〃月〃)    

试一下。  

又问:198001能否改为1980…1?或者1980年1月改为1980…1?   

解答:f1=IF(MID(e1;5;1)=〃0〃;LEFT(e1;4)&〃…〃&RIGHT(e1;1);LEFT(e1;4)&〃…〃&RIGHT(e1;2))    

或者更简单一些:=LEFT(A6;4)&〃…〃&value(RIGHT(A6;2))  (数据在a6单元格)   

也可以这样:=date(mid(e1;1;4);mdi(e1;5;2);1)这样会显示为1980…1…1,然后可以随意设置成 

相应的日期格式。  

034。请帮忙解释一个公式  

=LEFT(A1;(SEARCHB(〃?〃;A1)…1)/2)这是我在站内过去的帖子里看到的一个公式,用于提取前 

文后数中的文字部分,非常好用。请教这个公式中最后两步的意义是什么?另外,当A1是“ 1234 

个”的格式时,当如何提取其中的文字呢?   

解答:1、公式的含义是:查找第一个半角字符出现的位置'SEARCHB(〃?〃;A1)',减去1后除以 

2,就是文字的字符数目,将其提取出来。  

2、=RIGHT(A1;LENB(A1)…LEN(A1))    

035。关于宏和程序  

我现在已经用excel编了一个较完整的程序,并且能够给源程序加密码,实现〃工程不可见〃, 

但是我发现在vba编辑环境里还能看到我的大部分宏,虽然说不能编辑,但能运行,请问如何 

隐藏起来。   

解答:不用模块函数;重写成类或放到workbook 中;或在程序中直接将菜单宏隐藏。或者:新建 

类,然后将模块中的程序拷贝到类,提示:找不到宏。  

又问:我现在已经能做到屏蔽调alt+F11键了,虽然不能看到我的宏程序,但是依然可以运行 

我的宏,请高手做答,如何隐藏起我的宏。  

解答:在宏的声明前加Private。  

036。请教多条件求和的问题  

大家好,我是个新手,想向大家请教指定多条件求和的函数公式。  



                                  CCXXXVI  


…………………………………………………………Page 237……………………………………………………………

                                      Excel_word_ppt_使用技巧大全(完全版)  



譬如,有一张工作表有4列标题:品名,数量,日期,签收人。  

若我想求,符合条件为:品名为A ,日期为Y ,签收人为B的数量之和。  

该用那个函数公式?   

解答:=IF(A2=〃a〃;IF(B2=〃03。10。22〃;COUNTIF(D:D;D2);〃时间无〃);〃无〃)    

A列品名,B列日期,C列数量,D列签收人用if  嵌套。  

或者:数组公式   

{=sum((a1:a100=品名)*(c1:c100= 日期)(d1:d100=签收人)*(B1:B100))}    

也可以:{=SUM(((A1:A100)=〃a〃)*((B1:B100)=〃03。10。22〃))}    

037。请教关于星期的计算?   

如何通过输入一个日期:2003…10…20即可得到该天在本年度的第几个星期?   

解答:使用 WEEKNUM  函数。  

如:=WEEKNUM(A1)   

=WEEKNUM(TODAY())   

或者:日期在a1    

=INT((A1…DATE(YEAR(A1);1;0)+WEEKDAY(DATE(YEAR(A1);1;0);1)+7…WEEKDAY(A1;1))/7)    

也可以用VBA :   

'under the iso standard; a week always begins on a monday; and ends on a sunday。    

'the first week of a year is that week which contains the first thursday of the year;    

'or; equivalently; contains jan…4。    

'    

public function isoweeknum(anydate as date; _    

optional whichformat as variant) as integer    

'    

' whichformat: missing or  2 then returns week number;    

' = 2 then yyww    

'    

dim thisyear as integer    

dim previousyearstart as date    

dim thisyearstart as date    

dim nextyearstart as date    

dim yearnum as integer    

thisyear = year(anydate)    

thisyearstart = yearstart(thisyear)    

previousyearstart = yearstart(thisyear  1)   

nextyearstart = yearstart(thisyear + 1)    

select case anydate    

case is 》= nextyearstart    

isoweeknum = (anydate nextyearstart)  7 + 1    

yearnum = year(anydate) + 1    

case is 《 thisyearstart    

isoweeknum = (anydate previousyearstart)  7 + 1    

yearnum = year(anydate)  1   



                                                 CCXXXVII  


…………………………………………………………Page 238……………………………………………………………

                                     Excel_word_ppt_使用技巧大全(完全版)  



case else    

isoweeknum = (anydate thisyearstart)  7 + 1    

yearnum = year(anydate)    

end select    

if ismissing(whichformat) then    

exit function    

end if    

if whichformat = 2 then    

isoweeknum = cint(format(right(yearnum; 2); 〃00〃) & _    

format(isoweeknum; 〃00〃))    

end if    

end function    

public function yearstart(whichyear as integer) as date    

dim weekday as integer    

dim newyear as date    

newyear = dateserial(whichyear; 1; 1)    

weekday = (newyear 2) mod 7    

if weekday 《 4 then    

yearstart = newyear weekday    

else    

yearstart = newyear weekday + 7    

end if    

end function    

038。请教日期的转换问题  

我的程序里有这样一段代码:   

Dim str As Date    

str=now    

Sheet1。Cells(1; 〃A〃) = str    

运行后在单元格里显示  

2003/11/13 15:19:45    

但我想让它显示成如下的格式:   

 2003年11月13日(小时,分,秒去掉)   

我用year  (str)想单独取得年的值,但显示1905/06/25 0:00:00   

请问有什么好的方法可以实现这种转换吗?   

解答:   

Dim str As Date    

str=now    

Sheet1。Cells(1; 〃A〃) = format(str;〃yyyy年mm月dd 日〃)    

039。如何用vba实现删除最右边的字符  

1月、2月、3月。。。。。。。。。。。10月、11月、12月  



                                                CCXXXVIII  


…………………………………………………………Page 239……………………………………………………………

                                  Excel_word_ppt_使用技巧大全(完全版)  



请问如何用vba实现把“月”删除只提取:1、2、3。。。。。。。10、11、12。  

解答:Sub abc()    

Dim a As Integer    

Dim b As String    

Dim c As String    

c = 〃〃    

For a = 1 To Len(b)    

c = c & IIf(Mid(b; a; 1)  〃月〃; Mid(b; a; 1); 〃〃)    

Next    

MsgBox c    

End Sub    

或者:   
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!