excle学习笔记
1.对比两行不同的数据
=IF(COUNTIF(A:A,B3),"有","")
2.汇总数据,按照类型合并数据
IP地址 |
主机应用系统名称 |
IP地址 |
主机应用系统名称 |
10.190 |
产险2007版CIBS系统 |
10.190. |
产险2007版CIBS系统,产险2007版CIBS系统,产险2007版CIBS系统 |
10.190 |
寿险2015版绩效系统 |
10.190. |
寿险2015版绩效系统,寿险2015版绩效系统,寿险2015版绩效系统 |
10.190 |
产险2007版集中收付处理系统 |
10.190. |
产险2007版集中收付处理系统,产险2007版集中收付处理系统,产险2007版集中收付处理系统 |
alt+F11进入宏录制,然后开发工具-插入-按钮选择刚录制的宏,运行即可。
Sub yy()
Dim Arr, i&, d, Myr&
Set d = CreateObject("Scripting.Dictionary")
[c2:d65535].Clear
Myr = [a65536].End(xlUp).Row
Arr = Range("a1:c" & Myr)
For i = 2 To UBound(Arr)
If Not d.exists(Arr(i, 1)) Then
d(Arr(i, 1)) = Arr(i, 2)
Else
d(Arr(i, 1)) = d(Arr(i, 1)) & "," & Arr(i, 2)
End If
Next
k = d.keys
t = d.items
[c2].Resize(d.Count, 1) = Application.Transpose(k)
[d2].Resize(d.Count, 1) = Application.Transpose(t)
End Sub
3.逗号拆分单元格中数据
=IF(ISERR(FIND(",",A2)),A2,LEFT(A2,FIND(",",A2)-1))
4.查询对应列的数据
=VLOOKUP(D2,'6u4以下-新'!E:J,6,FALSE)
5.删除重复数据
在 6u4探索的sheet 删掉指定的106行
Sub test()
Dim rn2, rn1 As Range
Application.ScreenUpdating = False
For Each rn2 In Sheet2.Range("a2:a5040")
For Each rn1 In Sheet1.Range("a2:a107")
If rn1 = rn2 Then rn1.EntireRow.Delete
End If
Next
Next
Application.ScreenUpdating = True
End Sub
方式2在 6u4探索的sheet 删掉指定的106行
Sub DelRow()
Dim arr
endrow1 = Sheet1.Range("A65536").End(xlUp).Row
endrow2 =
Sheet2.Range("A65536").End(xlUp).Row
arr = Sheet2.Range("A1:A" &
endrow2).Value
For i = 1 To UBound(arr)
For ii = 1 To endrow1
If Sheet1.Range("A" & ii) = arr(i,
1) Then Sheet1.Range("A" & ii).EntireRow.Delete
Next ii, i
End Sub