友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

Excel word ppt office使用技巧大全(DOC格式)-第32部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!

列值{=ROW(INDEX(Sheet1!D:D;MAX(ROW(2:1001)*(Sheet1!D2:D1001〃〃))))}  以上供参 

考 这是一个数组公式 假设Sheet1 D1:D10有资料D11以後其他列为空白列;    



                                      CCXXII  


…………………………………………………………Page 223……………………………………………………………

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



则          MAX(ROW(1:1000)*(Sheet1!D1:D1000〃〃))             会          传         回  

MAX({1;2;3;4;;5;6;7;8;9;10;0;0;0;0;0;0;0;。。。。。。。。。。。})  而 Max函数会传回阵列最大的值;所以 

会得到D1:D1000中最後一个使用的列号即第10列  

{=INDEX(Sheet1!D:D;MAX(ROW(1:1000)*(Sheet1!D1:D1000〃〃)))}最合我的要求。   

〃〃计算某个单元格中包含多少个指定的字符 有没有这样的函数?! 急!!! 怎么能方便 

的判断某个单元格中包含多少个指定的字符??? 例:A1  中是“ASAFAG” ,我希望计算出A1 

里面有多少个“A”。。。。。。    

=LEN(A1)…LEN(SUBSTITUTE(A1;〃A〃;〃〃))  〃〃一行(列)‘ 的最后一个值及行(列)号,可含空 

格 〃 〃 数 字 转 大 写 金 额   =IF(TRUNC(A1)=A1;TEXT(A1;〃'DBNum2'〃)&〃  元 整 

〃;IF(TRUNC(A1*10)=A1*10;TEXT(TRUNC(A1);〃'DBNum2'〃)&〃                               元 

〃&TEXT(RIGHT(A1);〃'DBNum2'〃)&〃       角    整    〃;TEXT(TRUNC(A1);〃'DBNum2'〃)&〃      元 

〃&IF(ISNUMBER(FIND(〃。0〃;A1));〃    零     〃;TEXT(LEFT(RIGHT(A1;2));〃'DBNum2'〃)&〃     角 

〃)&TEXT(RIGHT(A1);〃'DBNum2'〃)&〃分〃))  负数的话,加一个判断,如果是负数,将整个结果 

的“…”用REPLACE  函数改称“ 负”字就行了。  

或者试试这个函数(转)  Function  UNumber(LNumber  As  Double)  Dim  NumberStr  Dim  

NumberLen%  Dim  DotLoc1%  Dim  DotLoc2%  Dim  NumberStr1  Dim  NumberStr2  If  

LNumber   =   0   Then   UNumber   =   〃 零 元 整 〃   Exit   Function   End   If   NumberStr   =  

Application。WorksheetFunction。Text(LNumber; 〃'DBnum2'〃) NumberLen = Len(NumberStr)    



                                          CCXXIII  


…………………………………………………………Page 224……………………………………………………………

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



DotLoc1 = InStr(1; NumberStr; 〃。〃; vbTextpare) DotLoc2 = NumberLen   DotLoc1 If  

DotLoc1 = 0 Then NumberStr = NumberStr & 〃元整〃 Else NumberStr = Replace(NumberStr;  

〃。〃; 〃元〃) If DotLoc2 = 2 Then NumberStr = NumberStr & 〃分〃 If Mid(NumberStr; DotLoc1 +  

1; 1)  〃零〃 Then NumberStr1 = Mid(NumberStr; 1; DotLoc1 + 1) & 〃角〃 NumberStr2 =  

Right(NumberStr;  2)  NumberStr  =  NumberStr1  &  NumberStr2  End  If  Else  NumberStr  =  

NumberStr & 〃角整〃 End If End If On Error Resume Next UNumber = Replace(NumberStr; 〃 

零元〃; 〃〃) End Function    



                                              CCXXIV  


…………………………………………………………Page 225……………………………………………………………

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



Part 9: EXCEL问题集锦  



                                                                            返回首页   

001。用命令按扭打印一个sheet1 中B2:M30区域中的内容?    

我想在Sheet2中制件一个命令按扭;  打印表Sheet1中的'B2:M30'  区域中的内容?    

解答:可以将打印区域设为b2:m30,然后打印,如:   

sheets(〃sheet1〃)。printarea=〃b2:m30〃    

sheets(〃sheet1〃)。printout    

随手写的,你可以试试看。最简单的方法是:你先录制宏,在录制宏过程中, 跑到页面设置 

里面, 把打印范围设置到你想要的范围。  

然后退出, 停止录制宏, 你就可以得到一些代码!   

002。能否对一列中的文字统一去掉最后一个字?这些文字不统一;有些字数多;有些字数少。如 

何处理?我用{〃&…}不行  

解答:=REPLACE(A1;LEN(A1);1;〃 〃)(在过渡列进行)    

003。能否根据单元格数值自动标记序号?   

各位大佬,一工作表有两列,“序号”及“金额”,能否将金额不等于0的行自动标上序号呢?如 

无现成的函数,应怎样设置?   

解答:Dim xuhao As Integer    

xuhao = 1    

Range(〃b2〃)。Select    

Do While Selection  〃〃    

If Selection  0 Then    

ActiveCell。Previous。Value = xuhao    

xuhao = xuhao + 1    

End If    

ActiveCell。Offset(1; 0)。Range(〃a1〃)。Select    

Loop    

004。求教自定义函数  

查询了一些自定义函数的例子都是单变量的。自定义函数能否建立“(As  Range)  As  Interger” 

的函数,应该可以的,请各位大师赐教!请以“ Σx2”为例,万分感谢!(该用〃For Each 。。。Next〃, 

就是还不知道如何引用Range中的每个值,请高手指点。)    

解答:参数使用Range而函数值为Integer是可以的  

用for each next循环思路也是对的,应该这样作:   

dim rg as range    

dim ivalue as integer    

for each rg in  参数区域  

ivalue=ivalue+rg。value    

next    

函数=ivalue    



                                          CCXXV  


…………………………………………………………Page 226……………………………………………………………

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



大概意思如此,但没有加入防错处理,你自己先试试看,有问题在问。  

又问:试了一天,还是不行。   

Public Function x2(rng As Range) As Integer    

Dim rng As Range    

Dim ivalue As Integer    

For Each rng In rng。Range    

ivalue = ivalue + rng。value ^ 2    

Next    

x2 = ivalue    

End Function    

还望您的帮助。  

解答:Public Function SUMX2(rng As Range) As Integer    

'你的错误有几项:   

'1。函数名不能使用单元格位址的形式,否则在工作表中引用函数产生歧义,excel 以为你引用 

单元格   

'2。参数名与内部变量名冲突,rng本来是定义参数,在过程中不应出现重名变量   

'3。rng已被定义为range对象变量,实际意义是一range引用,不能再用rng。Range引用,range 

的range属性是什么呢,没有吧   

'函数我已经给你改了,基本能用   

Dim rg As Range    

Dim ivalue As Integer    

For Each rg In rng    

ivalue = ivalue + rg。value ^ 2    

Next    

SUMX2 = ivalue    

End Function    

结果:调试成功!,非常感谢!   

005。判斷字符串的包含性  

用什么命 令“abcdefg”是否包含“abc”?    

解答:If VBA。InStr(1; 〃abcdefg〃; 〃abc〃)  0 Then MsgBox 〃包含〃    

006。利用背景实现套打的解决方案  

利用背景套打主要在于数据打印位置的确定,关键就是要使图片和实物之间的尺寸保持一致, 

这里我引入一个中间参照物—空白表(只有表格线的表)。具体操作以套打支票为例说明:   

(1)将支票扫描成图片。   

(2)打印一个空白表,使其与支票尺寸一致(需反复调整打印,也可行、列分别打印)。   

(3)用“画图”的缩放功能调整图片大小,导入excel作背景,并使其与空白表大小一致(亦需反复 

调整导入,每次均用原图缩放,再另存为一个文件)。   

(4)根据图片背景调整好单元格,填入数据后套打支票,效果是匹配度达99% 。   

(5) 由于每次都是用原图缩放,故可取得缩放比例作为参数,再套打其他表格时,即可直接依 

参数缩放图片。  

思路:因为空白表=支票,图片=空白表,所以图片=支票。  

该方案已证实可行。  



                                       CCXXVI  


…………………………………………………………Page 227……………………………………………………………

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



007。宏放在worksheet和sheet及模块中各有什么区别?   

解答:放在thisworkbook或sheet中的宏与模块中的宏的主要区别是book或sheet中的过程函数 

只能是对象所专有的,不能在对象之外的任何地方调用(很显然不能声明Public过程,否则编 

译报错),而模块中声明Public过程函数可以在任何地方使用。  

008。关于excel 问题  

在excel 中如何用公式实现单元格内容递增?   

如: AB12    

AB13    

AB14    

。。。。。。。    

AB100    

条件是无法确定储存格中的内容的前面有多少个字符,也就是,可能是2个,也可能是3个, 

或者更多。  

解答:為什麼要用公式呢?   

如 A1 = AB12  ,只要你向下拉的眩凭涂梢浴! 

公式可參考 (條件是 AB12  不可以是 AB02 , 處理 0  為首的數字有困難,亦不可以只有英文 

字)    

A1 = AB12    

A2                                                                              =  

LEFT(A1;LEN(A1)…SUM(LEN(A1)…LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9 

〃};〃〃))))                                                                       &  

RIGHT(A1;SUM(LEN(A1)…LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9〃};〃〃))) 

)+1    

(A1 = AB12    

公式   

=LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9〃};〃〃))    

答案看到的是 4  ,但其實它回傳一個數組 {4;3;3;4;4;4;4;4;4;4}    

公式   

=LEN(A1)…LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9〃};〃〃))    

答案看到的是 0  ,但其實它回傳一個數組 {0;1;1;0;0;0;0;0;0;0}    

公式   

=SUM(LEN(A1)…LEN(SUBSTITUTE(A1;{〃0〃;〃1〃;〃2〃;〃3〃;〃4〃;〃5〃;〃6〃;〃7〃;〃8〃;〃9〃};〃〃)))  是  將 

{0;1;1;0;0;0;0;0;0;0}  加總  

= 2)   

009。给数组公式、VBA爱好者泼点冷水。  

数组公式、VBA威力巨大,在某些情形下提高效率非常明显,但各有其弱点。数组公式在大数 

据的时候,运行速度慢得无法忍受。比如,我日常需要编制得几个报表,原始数据有4 -8万 

行,20——30列,用数组根本无法操作。倒是利用数据透视表及其他一些组合功能,可谓神 

速。而VBA主要适用与日常比较固定的一些工作,对于一些临时性工作而言,缺乏灵活性,有 

杀鸡用牛刀之嫌疑。因此,根据我个人多年工作经验的体会,能熟练地灵活运用EXCEL基本功 

能和常用函数,就可以高效地完成大部分日常工作。  

我  比  较  常  用 地  东  西  有  : 数  据  透  视  表 ,  数  据 ——                 有 效  性  , 

ctrl+enter;index ;match;indirect;offset;if;vlookup;下拉列表框,绝对引用与相对引用,编辑—— 

选择性粘贴(数值、乘除、转置等),图表,条件格式,定义名称,分列,填充等。  



                                        CCXXVII  


…………………………………………………………Page 228……………………………………………………………

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



相反观点:数据透视表的计算是excel 中内置的,同样的计算次数速度与数组公式是一样的, 

数组公式计算慢有两个因素,一是公式的编写不合理,另一个主要的原因是数组公式要对所有 

的引用数据进行计算,不管这些数据是否有效。  

VBA应该是最灵活的,在VBA 中结合数组公式是可以达到最佳目的的,可用VBA先分析出数组 

公式要用的有效引用区域,在辅助表中进行数组计算(这个速度比用VBA直接分析计算要快得 

多),再将结果记入需要的单元格中,然后删除辅助表。  

其实你说的那些基本操作均可用VBA来做的,速度比手工做要快。  

010。从式子抽取一小式子的问题?   

b1=sum(a1:a10)+(10+20)/4;怎么从中取出(10+20)/4或其结果(即5)?用evaluate 、get。cell 

都不能取出。  

解答:定义X=get。formula(B 1)得到B1的公式;再用MID、Right等函数截取  

011。or可以用数组应用?   

有一个工作表,数据上万行,其中一列是我要分析的数值,数值比如为:0111,0112,0113, 

0114,0115,0116,0117中的任何一个。我要统计除0111,0113,0115之外的数据。公式: 

{sum(if(or(sheet!A2:A1111=〃0111〃;sheet!a2:a1111=〃0113〃;sheet!a2:a1111=〃0115〃);1;0)) 

};可是统计数字和我筛选相加的不一样,用if层层选,可以。请问原因?   

解答:数组公式中用*、+代替AND 、OR    

{sum(if((sheet!A2:A1111=〃0111〃)+(sheet!a2:a1111=〃0113〃)+(sheet!a2:a1111=〃0115〃);1; 

0))}    

012。countif表达式的格式  

请问:我想找A1 :A15 中,值不为空的数目,用countif命令怎么写呢?   

解答1:应为counta(a1:a15) 。countif为找a1:a15 中,特定值的数目。  

解答2:=ROWS(A1:A15)*COLUMNS(A1:A15)…COUNTIF(A1:A15;〃〃)    

=ROWS(A1:A15)*COLUMNS(A1:A15)…COUNTBLANK(A1:A15)    

解答3:直接用count(a1:a15)不是更好吗!   

013。删除字符串中某个字符的函数是什么?删除字符串中某个字符的函数是什么?   

举例:字符串“i love you a!〃想删除a字面,应该用什么函数实现?还有就是在字符串中某个位 

置加入某个字符用什么函数呢?   

解答:如果有一定的规律,可以用Replace函数。例如:在A1单元格已有的字符串”123467〃中 

加入个5变为“ 1234567”。可以这样做:=replace(a1;5;;〃5〃)    

另一方法:用CONCATENATE函数。  

例如:a5单元格里的数据是“asdfhjkl〃;在另外的单元格了输入下面的函数  

CONCATENATE(LEFT(A5;4);〃l〃;RIGHT(A5;4)) ,得到的结果就是”asdflhjkl〃;然后用“选择性粘
返回目录 上一页 下一页 回到顶部 0 1
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!