返回列表 上一主題 發帖

[發問] 如何搜尋符合字串 , 並將該行列號及資料列顯示出來

[發問] 如何搜尋符合字串 , 並將該行列號及資料列顯示出來

本帖最後由 marklos 於 2017-3-24 10:16 編輯

Q1 請問要將工作表內有刪除線的數據 , 自動整列刪除 , 該如何做?
2017-03-24_100842.jpg
2017-3-24 10:09


Q2 依據A1儲存格的字串 , 搜尋"Data"工作頁內 "D"欄位相符的字串 , 將列號顯示在A欄位並將整列資料顯示在其後
2017-03-24_100540.jpg
2017-3-24 10:10


感謝~~

Question8.zip (15.26 KB)

A3:A6{=IFERROR(SMALL(IF(Data!D$2:D$99=A$1,ROW(D$2:D$99)),ROW(A1)),"")
B3:M6=IF(A3="","",INDEX(Data!A:A,Result!$A3))
隨意窩 "EXCEL迷"  blog  或https://blog.xuite.net/hcm19522/twblog
已收集8500篇 EXCEL函數

TOP

[attachimg]26883回復 2# hcm19522

請問大大
    Q1 自動刪除"有刪除線"的整列數據 可行嗎?

Q2  帶入函數後 , 列號顯示都為0 ?? 都為0的情形下 , 後面欄位的數據 , 應該都是相同才是 , 為何會有不同的資料被回傳??
2017-03-24_190106.jpg
2017-3-24 19:01

TOP

回復 3# marklos


    複製公式 不含 "=" ,貼上後加 "="   ;最前 "{" 代表 shift+ctrl+enter 三鍵一起按所產生 ,非程式裡面
隨意窩 "EXCEL迷"  blog  或https://blog.xuite.net/hcm19522/twblog
已收集8500篇 EXCEL函數

TOP

[attach]26884回復 4# hcm19522
請幫忙看看~哪裡有問題
感謝
Question8-1.zip (15.91 KB)

TOP

回復 5# marklos

   複製後加 "="   ; shift+ctrl+enter 三鍵一起按
2003版
IF(ISERR(SMALL(IF(Data!D$2:D$99=A$1,ROW(D$2:D$99)),ROW(A1))),"",SMALL(IF(Data!D$2:D$99=A$1,ROW(D$2:D$99)),ROW(A1)))
隨意窩 "EXCEL迷"  blog  或https://blog.xuite.net/hcm19522/twblog
已收集8500篇 EXCEL函數

TOP

回復 6# hcm19522

感謝~可以正常使用了~
第一個問題 資料工作表中 , 是否有函數或是巨集可以自動 刪除有刪除線的資料列呢??

TOP

回復 6# hcm19522

再請教一個問題
如果想要搜尋所有EB開頭的字串 , 該怎麼做呢?

TOP

謝謝論壇,謝謝各位前輩
後學藉此帖練習VBA陣列,學習方案如下,請各位前輩指教

執行前:
20230526_1.jpg
2023-5-26 13:32


執行結果:
20230526_2.jpg
2023-5-26 13:32



Option Explicit
Sub TEST()
Dim Brr, Y, R&, i&, j%, V$
'↑宣告變數
Brr = Range([Data!M1], [Data!A65536].End(3))
'↑令Brr變數是 二維陣列,以Data表A~M欄儲存格值帶入陣列中
V = [Result!A1]
'↑令V變數是 Result表[A1]儲存格字串
For i = 2 To UBound(Brr)
'↑設順迴圈
   If Brr(i, 4) = V Then
   '↑如果第4欄值是 同V變數
      R = R + 1: Brr(R, 1) = i
      '↑令R變數累加1,令Brr陣列第1欄複寫入i變數值
      For j = 1 To 12: Brr(R, j + 1) = Brr(i, j): Next
      '↑令其他資料複寫入Brr陣列2~13欄
   End If
Next
With Sheets("Result")
'↑以下是關於Result表的程序
   .UsedRange.Offset(2, 0).ClearContents
   '↑令標題列留下,其餘儲存格清除內容
   .[A3].Resize(R, 13) = Brr
   '↑令Brr陣列值寫入儲存格裡,超過範圍的陣列值忽略
End With
Set Y = Nothing: Erase Brr
'↑令釋放變數
End Sub
看得懂是應該的,懂得應用才像學生,臉皮厚點學會更謹慎積極

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題