找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限看帖不用回覆伊莉需要你的贊助和支持儲值後自動升級用戶組
鬼父juliantr3d中出母乳
dass 476偷窺loli紅色警戒闘姫淫縛高中班級我在地球

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

這樣的女友你敢要嗎

[繁]在地下城尋求邂逅

【內衣介紹】穿了太緊

✡ 凡人修仙傳・124・

[繁]七龍珠大魔02-

[簡]成為名留歷史的壞
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4996|回復: 3
打印上一主題下一主題

[求助]excel vlookup模糊比對[複製鏈接]

Rank: 1

帖子
66
積分
91 點
潛水值
17587 米
跳轉到指定樓層
樓主
發表於 2017-2-15 12:53 AM|只看該作者|倒序瀏覽
小弟最近得幫一堆住址分組,
例如了地址如下:
新北市泰山區黎明里1鄰泰林路二段*巷*號
新北市泰山區大科里10鄰仁愛路*巷*號*樓
新北市泰山區義仁里4鄰辭修路*號
新北市泰山區新明里18鄰民國街*巷*之*號
新北市泰山區貴賢里7鄰新生路*號
分類依據有的是比對到里,有的是必須比對到鄰,
如:
黎明里、大科里10鄰為A組,
義仁里4鄰、新明里、貴賢里7鄰為B組,
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
155
積分
1282 點
潛水值
47965 米
頭香
發表於 2017-2-16 09:31 AM|只看該作者
本帖最後由 tryit244178 於 2017-2-16 05:28 PM 編輯

查了一下,好像是比對文字的時候就會出包…
研究了好久。算了,搞不懂…自已寫一個比較快

貼到模組裡,儲存格裡打 =GetClass(B2,分組依據,2)
  1. Public Function GetClass(ByVal sourceRange As Range, ByVal seachRange As Range, ByVal column As Integer) As String
  2.     Dim i As Integer
  3.     Dim seachValue As String

  4.     GetClass = "#N/A"
  5.    
  6.     Select Case column
  7.         Case Is > seachRange.Columns.Count
  8.             GetClass = "#REF!"

  9.         Case Is <= 0
  10.             GetClass = "#VALUE!"
  11.                
  12.         Case Else
  13.             For i = 1 To GetLastRow(seachRange)
  14.                 seachValue = Left(sourceRange, Len(seachRange.Cells(i, 1).Value))
  15.                 If Not seachValue = "" And seachRange.Cells(i, 1).Value = seachValue Then
  16.                     GetClass = seachRange.Cells(i, column).Value
  17.                     Exit For
  18.                 End If
  19.             Next i
  20.     End Select
  21. End Function

  22. Private Function GetLastRow(ByVal sourceRange) As Integer
  23.     If sourceRange.Cells(sourceRange.Cells.Rows.Count, 1).End(xlUp).Row = 1 Then
  24.         GetLastRow = sourceRange.Cells.Rows.Count
  25.     Else
  26.         GetLastRow = sourceRange.Cells(sourceRange.Cells.Rows.Count, 1).End(xlUp).Row
  27.     End If
  28. End Function
複製代碼


有2點要注意:

第一,分組依據裡,得把前面的地址全部打進去
也就是你不能只打什麼什麼里,要打「新北市泰山區新明里」
像這樣才不會比對不出來

第二,把範圍比較小的排上面
像「新北市泰山區新明里11鄰」如果排在「新北市泰山區新明里」下面的話
就永遠不會抓到11鄰去

補充內容 (2017-2-16 05:25 PM):
哇咧!結果最後找到問題了…只要對 分組依據 做遞減排序就行了……真是浪費時間做白工…
...
瀏覽完整內容,請先 註冊登入會員

點評

tryit244178 我說的是 分組依據 裡的排序  發表於 2017-2-16 10:16 AM
tryit244178 用遞減排序就可以一次排完,不用手動來  發表於 2017-2-16 10:15 AM
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 1

帖子
66
積分
91 點
潛水值
17587 米
3
發表於 2017-2-17 12:39 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
本帖最後由 zbc231 於 2017-2-17 12:45 AM 編輯
tryit244178 發表於 2017-2-16 09:31 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

查了一下,好像是比對文字的時候就會出包…
研究了好久。算了,搞不懂…自已寫一個比較快
...
瀏覽完整內容,請先 註冊登入會員

點評

tryit244178 1、可以在不同工作表。像這樣 =VLOOKUP(B2,Sheet2!A:B,2)。 2、我對excel不熟,所以這部份沒辦法為你解答。  發表於 2017-2-17 08:46 AM
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
66
積分
91 點
潛水值
17587 米
4
發表於 2017-3-2 01:24 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
感謝你的幫忙,
我後來用公式將地址中的里和里鄰分兩格找出,
然後去完整比對,來進行分組活動。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部