iT邦幫忙

0

【Excel】尋找字串,並複製該欄位至資料表內的新位置

各位大大們好!
請問如何尋找A欄裡有"甲"的字串,
並複製該欄位至資料表內的新位置?
感謝各位大大們的幫忙!
(下圖是簡單製作的範例,欄位裡的內容可能很長)
(圖片很長,請見諒!)

pcw iT邦研究生 3 級 ‧ 2019-04-17 17:59:32 檢舉
要用函數?還是VBA?
1
pcw
iT邦研究生 3 級 ‧ 2019-04-17 18:27:21
最佳解答

用VBA

Sub find_cha()
    Dim myRng As Range, allRng As Range, i As Long
    Dim firstAddress As String
    
    Set allRng = Application.Intersect(Range("A:A"), Cells.Parent.UsedRange)
    Set myRng = allRng.Find(what:="甲", LookAt:=xlPart)
    If myRng Is Nothing Then Exit Sub
    
    firstAddress = myRng.Address
    i = 0
    Do
        i = i + 1
        Cells(i, "C") = myRng.Value
        Set myRng = allRng.FindNext(myRng)
    Loop Until myRng.Address = firstAddress
End Sub

2
StevenTseng
iT邦新手 5 級 ‧ 2019-04-17 18:16:18

我的非專業做法是用=IF(ISERROR(SEARCH("甲",A1)),"",A1)
然後排序結果那一欄

1
jasonh
iT邦新手 5 級 ‧ 2019-04-18 08:09:08

在C1輸入
=IFERROR(INDEX(A:A,SMALL(IF(IFERROR(FIND("甲",A:A,1),0),ROW(A:A),""),ROW(A1))),"")
輸入後不要按Enter
要按Ctrl+Enter(使之成為陣列函數)
再向下複製(拖拉複製)即可

pcw iT邦研究生 3 級 ‧ 2019-04-18 09:03:45 檢舉

要按Ctrl+Enter(使之成為陣列函數)

應該要按Ctrl+Shift+Enter(使之成為陣列函數)

jasonh iT邦新手 5 級 ‧ 2019-04-18 23:07:13 檢舉

打太快 漏了 感謝指正

我要發表回答

立即登入回答