提取特定數值範圍內的值

提取特定數值範圍內的值

我有一個 Excel 電子表格,其中包含“AP”列,其中每個單元格都包含這樣的值

5358  161043   22344   8444   103145  69221044 

「5358 161043 22344 8444 103145 69221044」都是一個單元格,在本例中為 AP2。我知道這很混亂,但我從別人那裡繼承了它,並正在努力清理它。

我需要某種方法來提取 6623 到 12756 之間的數字範圍內的這些值。

答案1

我製作了一些虛擬資料並將其放在工作表的 A 列中。在 B 列中,我使用了以下公式:

=IF(AND(A1>=$L$35,A1<=$L$36),"Yes","No")

這是一個簡單的過濾器,對於目標範圍內的值返回“是”(我將它們放在單元格 L35 和 L36 中)。

在此輸入影像描述

接下來,選擇這兩個欄位並開啟篩選器。

在此輸入影像描述

現在,在「主頁」標籤上,前往「編輯」功能區並選擇「尋找和選擇」。選擇顯示“轉到特別...”的選項

選擇名為「僅可見儲存格」的選項,然後按「確定」。

按“複製”或使用 CTRL-C。這應該只選擇包含所需資料的行。

現在,如果您貼上到空白表格中,則將僅貼上與所需日期範圍相對應的資料。注意:在我的範例中,我沒有將標題的第 1 行留空,因此當我套用篩選器時,我最終留下了一個「否」。您可以刪除掉隊者,或只是在開頭留下一個空白行,這樣就不會發生這種情況。

答案2

首先在標準模組中輸入以下使用者定義函數:

Public Function GrabData(r As Range) As String
    Dim cel As Range, v As String, a, d As Double

    GrabData = ""

    For Each cel In r
        v = cel.Text
        arr = Split(v, " ")
            For Each a In arr
                If IsNumeric(a) Then
                    d = CDbl(a)
                    If d > 6622 And d < 12757 Then GrabData = GrabData & " " & a
                End If
            Next a
        Next cel
End Function

那如果你有數據AP1透過AP3,選擇另一個儲存格並輸入:

=GrabData(AP1:AP3)

例如:

在此輸入影像描述

如您所見,這些值以空間分隔字串,就像輸入一樣。

相關內容