当前位置: 代码迷 >> Office >> EXCEL单元格模糊匹配的一个有关问题
  详细解决方案

EXCEL单元格模糊匹配的一个有关问题

热度:1490   发布时间:2013-02-26 00:00:00.0
EXCEL单元格模糊匹配的一个问题
EXLCE 两列中数据模糊匹配
EXCEL A表中第a列中有2万行数据都是字符串,B表中b列 也是字符串,有3千条, A表中的行数据里的字符串包含了B表中b列的,如何最快的方式模糊匹配出A 表每列的数据是包含了B表b列的字符内容??急在线等
------最佳解决方案--------------------------------------------------------
你的这个问题我遇到过
用SQL做
B表相当于关键字,3千个关键字,设定关键字的ID
用循环语句,每次用一个关键字扫描一遍A表,按顺序将3千个关键字一次扫描

[cpasufy12].[case summary] 相当于A表a列
DEFINITION_#000#_Standard_Summary.Search_String  相当于B表B列
我的关键字是100个,所以index限制到100为止



declare @index int;
declare @WeekNum int;
set @index = 1;


while(@index <= 100)
begin
    UPDATE    [cpasufy12]

SET              [Standard Summary] = DEFINITION_#000#_Standard_Summary.Standard_Summary

FROM         [cpasufy12] CROSS JOIN

                      DEFINITION_#000#_Standard_Summary

WHERE     ([cpasufy12].[Case Summary] LIKE

                          (SELECT     Search_String

                            FROM          DEFINITION_#000#_Standard_Summary AS DEFINITION_#000#_Standard_Summary_1

                            WHERE      (ID = @index))) AND (DEFINITION_#000#_Standard_Summary.ID = @index) 


    set @index = @index + 1
end




------其他解决方案--------------------------------------------------------
VBA代码:
Sub test()
   Dim i As Integer
   Dim j As Integer
   
   For i = 1 To 6
      Range("B" & i) = False
      For j = 1 To 6
          If Range("A" & i) Like "*" & Sheets("工作表2").Range("A" & j) & "*" Then
              Range("B" & i) = True
          End If
      Next 'j
   Next 'i
End Sub
------其他解决方案--------------------------------------------------------
模糊也要有个规则,你随便这么一说,别人怎么弄的明白,又怎么帮你?
  相关解决方案