Board logo

標題: 輸入關鍵字即可找到資料 [打印本頁]

作者: mj0917m    時間: 2016-3-13 21:46     標題: 輸入關鍵字即可找到資料

請教各位高手
由於工作上的關係
需要再A2欄位中輸入關鍵字
查詢到需要的資料,如附圖所示
先前有爬文是做看看,但一直都弄不出來
希望各位大大可以直接提供教學檔案給我
感激不盡 ^ ^
作者: ML089    時間: 2016-3-14 06:52

大概是這樣
C5 =MATCH("*"&A5&"*",Sheet2!B:B,)
B5 =INDEX(Sheet2!A:A,C5)
公式往下複製

"*"&A5&"*" 表示 MATCH 使用模糊查詢,只要字串中有A5就行,*字元表示為任意字元都可以
作者: mj0917m    時間: 2016-3-14 22:29

謝謝 ML089的方法提供,
但還是用不出來耶!
可否詳細說明呢?謝謝
作者: ML089    時間: 2016-3-15 18:11

本帖最後由 ML089 於 2016-3-15 18:12 編輯

回復 3# mj0917m

公式簡單,INDEX、MATCH函數說明按F1就可以了解
重點 模糊查詢 使用 *

不知道還要了解甚麼?
要不要傳檔上來,看看你做錯在哪裡


不好意思,我給你的是公式,不是VBA程式
作者: mark15jill    時間: 2016-3-21 14:48

回復 1# mj0917m


    請詳細敘述  說明 問題  所想要得結果

    給你個提示:
  1.    
  2. Application.DisplayAlerts = False  '提示取消
  3. Application.ScreenUpdating = False '螢幕更新取消



  4. Sub A()
  5.    'str = "內"
  6.    'str3 = "年"
  7. 'Cells(1, 15) = "搜尋目標源"
  8. 'Cells(1, 16) = "判斷是否找到"
  9. 'Cells(1, 17) = "關鍵字位置"
  10. For asy = 2 To ActiveSheet.Range("b1").CurrentRegion.Rows.Count
  11.     Cells(asy, 15) = Cells(asy, 2)
  12.     For ahs = 94 To 99
  13.    
  14.    
  15.    
  16.     Next ahs
  17. Next asy


  18.         For i = 2 To ActiveSheet.Range("a2").CurrentRegion.Rows.Count
  19.             If Mid(Cells(i, 1), 1, 3) = "099" Or Mid(Cells(i, 1), 1, 2) = "99" Then
  20.                 If (InStr(1, 工作表1.Cells(i, 1), "內") >= 1) Then
  21.                      工作表1.Cells(i, 7) = "find"
  22.                      工作表1.Cells(i, 11) = InStr(工作表1.Cells(i, 1), "內")
  23.                      s = s + 1
  24.                 End If
  25.             End If
  26.         Next
  27.                工作表1.Cells(i, 8) = "find"




  28. End Sub
複製代碼

作者: mj0917m    時間: 2016-3-25 16:41

回復 1# mj0917m

[attach]23574[/attach]
不好意思,最近工作較忙,
小弟的訴求如下
需要再A2藍色欄位中輸入關鍵字
下面欄位即可跳出查詢到需要的資料,檔案如附件
煩請各位大大指導該如何製作或是可以直接提供教學檔案給我
感激不盡 ^ ^
作者: clio    時間: 2016-3-25 17:01

我還無法下載妳的檔案,只能照字面去分析妳要的,我想用這個公式應該可以
=IF(ISERROR(MATCH("*"&A2&"*",B:B,0)),"查無資料",INDEX(B:B,MATCH("*"&A2&"*",B:B,0)))
也會根據妳在A2欄位輸入的字,去B:B這邊去尋找有相同內含值的,但是他只能跑出第一筆被找到的值,不知道這個是不是妳要的答案
作者: mark15jill    時間: 2016-3-27 15:57

回復 6# mj0917m


ALT+F11  移到工作表一的程式內  把以下程式碼貼上
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. Dim ss As String: ss = [a2]
  3.     For iui = 5 To 11
  4.         
  5.             If Range("a" & iui).Value = ss Then [b2:d2] = Range("b" & iui, "d" & iui).Value
  6.         
  7.     Next

  8. End Sub
複製代碼

作者: 學到老死    時間: 2016-3-27 19:48

猜想樓主是想把A2的欄位當成奇摩雅虎的搜尋"產品名",再output成msgbox("編號")("放置位置")("備註")
作者: 學到老死    時間: 2016-3-27 20:29

小的提供這個函數lookup給樓主參考,並提供相關教學影片如下,謝謝。

https://www.youtube.com/watch?v=Q32syItTv8Q

另外方才提供的msgbox想法,要使用到VBA程式碼,這可能要請樓上各位大大解惑了,小的也想嘗試寫看看,只是要一段時間,才剛起步學,不好意思啦。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)