excel的几个实用公式.doc
文本预览下载声明
C:\Documents and Settings\Administrator\My Documents\Tencent Files\1061098244\FileRecv
合并当前工作簿下的所有工作表
Alt +F11
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name ActiveSheet.Name Then
x = Range(A65536).End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(x, 1)
End If
Next
Range(B1).Select
Application.ScreenUpdating = True
MsgBox 当前工作簿下的全部工作表已经合并完毕!, vbInformation, 提示
End Sub
合并两个单元格内容
如果你要的结果是“adcd”,公式就是:=1号单元格内容2号单元格内容如果你要的结果是“ad*cd”,公式就是:=1号单元格内容*2号单元格内容Mid()
根据条件匹配数据
Vlookup(a1,sheet,0)
排序
Rank(a1,a1:a6,0)
随机数
要产生1-25的随机数,可以输入=INT(25*RAND())+1如果是两列数据进行对比(即对2列所有的数据进行对比):在C1输入=IF(COUNTIF(A:A,D1)=1,同样,不一样)然後下拉即可查找A列与D列的不一样数据。在E1输入=IF(COUNTIF(A:A,E1)=1,同样,不一样)然後下拉即可查找B列与E列的不一样数据。用COUNTIF函数
比如你的名称在A列,
在A列以外的任意区域输入公式:
=COUNTIF(A:A,张三)
统计“张三”这个名称的数量。假设你的数据在A列和B列,那你在C1单元格中输入公式=IF(A1=B1,相同,),公式的意思是说,如果A1等于B1,则在C1中显示相同,如果两个单元格的数据不相等,则显示为空白单元格.身份证号中提取出生年月= MID(J11, 7, 4) 年 MID(J11, 11, 2) 月 MID(J11, 13, 2)日/article/d7130635071d2313fdf47585.html
Alt+F11的快捷键进入VBE编辑界面要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”,而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。
插入模块。注意:
1)原始数据表要从第一行开始有数据,并且不能有合并单元格;
2)打开工作簿时需要开启宏,否则将无法运行代码。
Sub CFGZB()
Dim myRange As Variant
Dim myArray
Dim titleRange As Range
Dim title As String
Dim columnNum As Integer
myRange = Application.InputBox(prompt:=请选择标题行:, Type:=8)
myArray = WorksheetFunction.Transpose(myRange)
Set titleRange = Application.InputBox(prompt:=请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”, Type:=8)
title = titleRange.Value
columnNum = titleRange.Column
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i, Myr, Arr, num
Dim d, k
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name 数据源 Then
Sheets(i).Delete
End If
Next i
Set d = CreateObject(Scripting.Dictionary)
Myr = Worksheets(数据源).UsedRange.Rows.Count
Arr = Worksheets(数据源).Range(Cells(2, columnNum), Cells(Myr, columnNum))
For i = 1 To UBound(Arr)
显示全部