ITPub博客

首页 > 应用开发 > IT综合 > EXCEL问题集合6

EXCEL问题集合6

原创 IT综合 作者:jackdear 时间:2008-01-14 00:56:42 0 删除 编辑
接:EXCEL问题集合5[@more@]

文件修复

Excel文件是一个工作簿,一般可以包含255个工作表,每个工作表中可以包含大量的数据。如果一个Excel文件部分受损,不能正常打开,该怎么办呢?这里向大家介绍两种解救方法。  手动处理  进入Word,打开要修复的XLS文件,如果Excel只有一个工作表,会自动以表形式装入Word,若文件是由多个工作表组成,每次只能打开一个工作表。打开后,先将文件中损坏的数据删除。  用鼠标选中[表格]→[转换]→[表格转文本],注意可用“,”间隔符或其它分隔符,另存为一个TXT文本文件。在Excel中直接打开该文本文件,在打开时,Excel会提示文本导入向导,一般情况下只要直接点击[下一步]即可,打开后另存为其它的Excel文件即可。  注意:这种修复的方法是利用Word的直接读取Excel文件的功能实现,该方法在文件头没有损坏,只是文件内容有损坏的情况下比较有效;对文件头已经损坏的Excel文件,此方法可能不成功,必须借助于其它方法。  用Excel修复工具  Concept Data公司提供了一个专门用于修复Excel损坏文件的修复工具——ExcelRecovery,能够对Excel 5.0/97/2000的文件进行恢复处理,大家可以先下载该软件的免费演示版试用,仅有674KB,下载地址http://download.sina.com.cn。软件安装后,可以自动将Excel的修复程序加在Excel应用程序中,在“文件”菜单下多出一项“Recovery”选项,若有损坏的文件,可以用该选项进行修复。另一个下载地http://www.skycn.com/soft/7432.html

  使用方法是:

  1、打开Excel

  2、单击“文件”菜单下的“Recover”选项,Excel Recovery对话框将打开

  3、指定要修复的Excel文件,然后按[Recover]按钮;

  4、自动修复;

  5、另存为一个新的文件名,即可完成文件的修复工作。

  注意:该演示版本只能修复普通文件,不能修复带Visual Basic代码、图表以及包含口令的Excel文件,如果需要修复这些文件,请进行注册。

  另外要提醒大家的是:保存在软盘中的文件极易损坏,受损后可用以上方法修复,但如果损坏的文件位于磁盘0磁道时,就必须先修复软盘,再用上述方法修复Excel文件。另外,考虑到未注册版本的使用限制,我找到如下破解页面,你自己再研究研究
Results 4 of about ExcelRecovery
URL:
http://www.cracks.am/cracks/e4.html
ExcelRecovery v3.0 ExcelRecovery v2.2

URL: http://www.thecrack.net:8080/db/list.php... 2064. ExcelRecovery 2.2 12 Kb 2065. ExcelRecovery 2.2.1 12 Kb 2066. ExcelRecovery v3.0 (SirCrack) 12 Kb

URL: http://crck.passwd.ws/e.htm ExcelRecovery v3.0 - 11 Kb

URL: http://cracks.allseek.info/crc/?p=E5 1255. ExcelRecovery 3.0 by SirCrack [ 11 Kb ]

显示隐藏的工作表

有个朋友给了我一个EXCEL程序,里面只有2SHEET,但是我见到其中一个SHEET还引用了本文件另外一个工作表的内容,我用ALT+F11打开VB编辑器又可以看到那个隐藏了的工作表, 请问怎么能看到那工作表呢?答:Sheets("name_of_sheet").Visible = True

这样一列如何筛选出含201

县一高2014555 /便民201 /县城301/201414441/301745555/20145122 /柏良201 /柏良301答:假设你的资料在B列,且起始行为第四行,即B4起始单元格,终止与11行处,即B11,则在A列输入公式IF(ISERROR(FIND("201",B4)),A3,A3+1),然后在D列输入顺序数字,比如110,在E列输入公式vlookup(d4,$a$4:$b$11,2,1>2)。注意A30。或:自动筛选->单击下拉列表->custom(自定义)->在条件中选"包含",在右边的文字框输入"201"->OK

两个日期相差的月份数

使用Datedif(日期1,日期2"m")函数。

用函数实现连续相加

我有一公式是这样的:=sum(B1+B2+B5+B8+B11+B14+B17+B20) 也就是前两个是连续相加,后边的是每隔3个相加,不知有没有简单的公式。答:{=SUM((MOD(ROW(B1:B20),3)=2)*B1:B20)+B1}

把计算结果为负值的显示为红色取整并在数字后面加上“仟元“

把单元格格式改为#,##0"仟元";[红色]-#,##0"仟元"

如果不要负号可以写成#,##0"仟元";[红色]#,##0"仟元"

比较AB两列数据并在A列中包含B列的数据删除

工作表中A列数据是原始数据,而B列是另一些数据,现在要比较两列的情况,然后将A列中包含B列的数据删除

Sub wswx0041()
Dim i&, j&
On Error Resume Next
For j = Range("B65536").End(xlUp).Row To 1 Step -1
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1) Like "*" & Cells(j, 2) & "*" And Not IsEmpty(Cells(j, 2)) Then Cells(i, 1).Delete shift:=xlUp
Next i
Next j
End Sub

怎样让我的图表随着数据透视表的更新

我的问题是: 1、当有新月份的数据出现的时候,图表无法包含新数据;2、但REGION选择不是全部,比如CD,图表中没有数据。怎样实现图表随数据透视表的更新而更新呢?

解答:DATA=Data!$A$1:$G$129、固定的范围,不值钱、DATA=OFFSET(Data!$A$1,,,COUNTA(Data!$A:$A),6)动态范围、按数据透视表[!]按钮,更新数据

Sales Date;改用年月日三个字段;目的是当[索引],让条件容易下;DATA=OFFSET(Data!$A$1,,,COUNTA(Data!$A:$A),8)

直接由[数据透视表]工具,[图表精灵],[图表]

如此就是完美的三层式结构,分工完成工作,只不过是接条龙,很简单吧!

又问:每次刷新数据,列宽等格式就需要重调,有没有办法将格式固定住?

答:工具>>选项>>一般>>标准字型>>大小>>确定。设定好以后,开新档案,列宽行高自动会调整。但这不是重点

[数据透视表];鼠标右键>>分页显示。此功能是用来打印整本活页簿,出报表用

双击总计字段下之单元格;此功能是用来列出该笔合并数据所有明细;所以[自动筛选][进阶筛选]就用不着了,也不必去写复杂之[数组公式];需要甚么数据,直接找[数据透视表]要;操作非常简单

DATA可以转到mbd檔;ACCESS可以汇入Excel数据,用精灵操作;汇入以后xls档即可删除

Excel>>数据>>取得外部数据>>新增外部数据查询>>>>>>转入[数据透视表];此物即为Microsoft Query第一次使用会要求放入光盘片,安装ODBC驱动程序

改用年月日三个字段;是有道理的。别嫌麻烦

循环引用问题

vba中输入公式,我想用变量代替RC地址,以便循环操作,如何做到?比如:在Range("am6").FormulaR1C1 = "=SUM(R[-5]C:R[-5]C[10])"中,如何才能用变量x来代替其中的10-5等数字?

解答:="=SUM(R[" & x & "]C[" & y & "]:R[" & xx & "]C[" & yy & "])"

如何才能有条件的引用某一区的内容

请教各位,怎样才能引用符合条件的某一区域的内容。如下:
A
   B   C   
9-1
  1   9-15 /9-2  2   9-16 /9-2  2   9-17 /9-2  1   9-18 /9-4  2   9-18 请问,用什么方法才能在另外的单元格中引用同时符合A列中“9-2”和B列中“2”的C列的内容。

解答:先判断个数,再列出符合的数据:
{=IF(ROW()-ROW($A$18)+1>SUM(($A$2:$A$7=$B$16)*($B$2:$B$7=$C$16)),"",TEXT(SMALL(IF(IF($A$2:$A$7=$B$16,$B$2:$B$7,"")=$C$16,$C$2:$C$7,""),ROW($A1)),"m
d"))}

Excel基本功

1.引用同一工作薄中另外一工作表的单元格
= Worksheets("
工作表名称").Cells(1, 1)
------------------------------------------------------------
如当前工作表为sheet1,想引用sheet2中的B2,=sheet2!B2 2.如何使0值不显示 方法1if (A1<>"", A., "") 方法2:对于整个工作表中的0值全不显示,[工具]-[选项]-[视图],清除0值选项。 方法3:用自定义数字格式,其中"#""?"有屏蔽0值的效果。比如:"G/通用格式;G/通用格式;#""G/通用格式;G/通用格式;?" 3.如何定义格式和Copy格式? EXCEL,可不可以把某一范围定义成一种格式,而其中某些数据又不是.并且又如把这种格式COPY到同一张sheet1?: 大制程 标准工时 状况 2002/1/24 2002/1/25 二次 13 /焊接 20 .而其它空格就不包括在格式中.被填写了的这张表格的格式又能重新COPY.如何做呢? 解答:新建一个只有一个工作表的工作簿 ,在这个工作表中设计你的格式另存为模板(*.xlt)。以后插入新工作表时,选择刚才建的模板。 又问:但是假如我只有一张工作表,我如何在同一张工作表中COPY?如我的固定格式在sheet1A1:Z15范围内,我要把这种格式copyA17:Z24,而其中的数据又不COPY进来.怎么办?

解答:假设你要复制格式的范围为A1:Z1A1:B15两个区域,则用下面的宏能实现你的复制要求。 你只要选定新区域左上角的单元格,然后执行宏即可。
Sub
1()
aaa = ActiveWindow.RangeSelection.Address
Range("A1:Z1").Select
Selection.Copy
Range(aaa).Select
ActiveSheet.Paste
Range("A1:B15").Select
Application.CutCopyMode = False
Selection.Copy
Range(aaa).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range(aaa).Select
End Sub

------------------------------------------------------------ 如果A1:Z15中的数据全部都要清除, 可以[复制]A1:Z15[选择性粘贴]A17,粘贴栏中选中"格式"
------------------------------------------------------------
选定范围后直接使用格式刷就可以了 4.如何实行列互换? 解答:Transpose函数 或选中一行或一列,复制,选择性粘贴->转置。
------------------------------------------------------------
在某一单元格输入公式“INDEX(reference,COLUMN(A1),ROW(A1)) 然后向下向右拖放。

5.EXCEL2000中视面管理器如何具体运用呀? 请问高手EXCEL2000中视面管理器如何具体运用呀?
------------------------------------------------------------
其实很简单呀,你把它想象成运动场上的一串照片(记录不同时点的场景), 一张照片记录一个场景,选择一张照片就把运动“拖”到照片上的时点。 不同的是只是场景回复,而值和格式不回复。

解除officeXP 50 次限制

1、 首先使用下面这个序号来安装Office XP
BMV8D-G272X-MHMXW-4DY9G-M8YTQ
2
、安装后,启动新建一个Word文档,程序会提示你激活,不管它!关闭Word
3
、打开注册表编辑器REGEDIT.exe,进入到下面的子键里面:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInstallerProducts4080820900063D11C8EF00054038389CAlways Installed]
4
、把右边的这个DWORD类型的键删除:"Usage"=dword:2adb0001
5
、在右边新建这样一个字符串型的键:Usage,将其值改为AlwaysInstalled 即: Usage="AlwaysInstalled"
6
、最后使用法国人写的字节数为12,800Crack.exe来破解Office XP后,即大功告成! 我破解后,打开Word 70次,打开Excel 60次后,还是能够新建文档、表格,而且可以顺利保存。 无论Win98Win2000操作系统我都成功了,且已运行了200次以上!

小写数字转换成人民币大写

方法1

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)
DotLoc1 = InStr(1, NumberStr, ".", vbTextCompare)
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

方法2

=IF(TRUNC(H16)=H16,TEXT(H16,"[DBNum2]G/通用格式")&"元整",TEXT(TRUNC(H16),"[DBNum2]G/通用格式"&""))&IF(AND(TRUNC(H16)<>H16,RIGHT(TRUNC(H16*10))<>"0"),TEXT(TRUNC(MOD(H16*10,10)),"[DBNum2]G/通用格式")&"","")&IF(AND(RIGHT(TRUNC(H16*10))="0",TRUNC(H16)<>H16),"","")&IF(TRUNC(H16*10)<>H16,TRUNC(H16*10)=H16*10), "","")

方法3

=IF(F10=0,"",CONCATENATE(IF(INT(F10)=0,"",TEXT(INT(F10),"[DBNum2]G/通用格式元")),IF(INT(MID(RIGHT(FIXED(F10,2,1),2),1,1))=0,IF(INT(MID(RIGHT(FIXED(F10,2,1),1),1,1))=0,"",IF(INT(F10)=0,"","")),TEXT(INT(MID(RIGHT(FIXED(F10,2,1),2),1,1)),"[DBNum2]G/通用格式角")),IF(INT(MID(RIGHT(FIXED(F10,2,1),1),1,1))=0,"",TEXT(INT(MID(RIGHT(FIXED(F10,2,1),1),1,1)),"[DBNum2]G/通用格式分"))))

方法4

人民币大写的函数公式,可正负,最多两位小数。
=IF(A1<0,"
","")&IF(TRUNC(A1)=A1,TEXT(IF(A1<0,-A1,A1),"[DBNum2]")&"元整",IF(TRUNC(A1*10)=A1*10,TEXT(TRUNC(IF(A1<0,-A1,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]")&""))

方法5

修改一下4:根据剑魔兄的测试,发现有一个问题,如-100.05,现修正如下:
=IF(A1<0,"
","")&IF(TRUNC(A1)=A1,TEXT(IF(A1<0,-A1,A1),"[DBNum2]")&"元整",IF(TRUNC(A1*10)=A1*10,TEXT(TRUNC(IF(A1<0,-A1,A1)),"[DBNum2]")&""&TEXT(RIGHT(A1),"[DBNum2]")&"角整",TEXT(TRUNC(IF(A1<0,-A1,A1)),"[DBNum2]")&""&IF(ISNUMBER(FIND(".0",A1)),"",TEXT(LEFT(RIGHT(A1,2)),"[DBNum2]")&"")&TEXT(RIGHT(A1),"[DBNum2]")&""))

方法6

=IF(A1<0,"",)&TEXT(TRUNC(ABS(A1)),"[DBNum2]G/通用格式")&" "&IF(ROUND(A1,3)=ROUND(A1,),"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/604457/viewspace-997241/,如需转载,请注明出处,否则将追究法律责任。

上一篇: EXCEL问题集合5
下一篇: EXCEL问题集合7
请登录后发表评论 登录
全部评论

注册时间:2009-02-04

  • 博文量
    62
  • 访问量
    336023