- Katılım
- 25 May 2018
- Mesajlar
- 1,610
- En iyi yanıt
- 14
- Puanları
- 113
- Konum
- İstanbul
- Web sitesi
- excelarsivi.com
- Ad Soyad
- Murat OSMA
- Office Vers.
- Microsoft 365 TR+EN
FILTER ( SourceArray, Match, [Include], [Compare] )
Bir alt tabaka (Variant) içeren değerlerin bir alt kümesini içeren bir dizi döndürür.
Açıklamalar
* Bu işlev, belirli bir metin dizesiyle eşleşen tüm öğeler için bir dizi arar ve eşleşen öğelerin bir dizisini döndürür.
* Arama metninin tüm öğeyle mi, yoksa sadece bir bölümüyle mi eşleşmesi gerektiğini belirtmenin bir yolu yoktur.
* "SourceArray" içinde eşleşme eşleşmiyorsa, boş bir dizi döndürülür.
* "SourceArray" Null ise, o zaman bir hata oluşur?
* "[Include]" = True ise, alt dizeyi "eşleşmesini" içeren dizinin alt kümesi bir alt dizgi olarak döndürülür.
* "[Include]" = False ise, dizinin bir alt dizgi olarak "eşleşmesi" alt dizini içermeyen alt kümesi döndürülür.
* "[Compare]" boş bırakılırsa, daha sonra 0 kullanılır.
* Döndürülmüş olan dizi, eşleştirilen öğelerin sayısını içerecek kadar öğe içerir.
* Döndürülen dizi her zaman 1 boyutlu bir dizidir.
* Bu işlev, 1 boyutlu bir dizide belirli bir öğenin var olup olmadığını belirlemek için kullanılabilir.
* Bu seçenek, "Option Base 1" bildirip bildirmediğiniz dikkate alınmaksızın 0 tabanlı bir diziyi her zaman döndürür .
* Bu işlev boş bir dizi döndürebilir. Bu olduğunda, alt düzey 0 ve üst sınır -1'dir.
Örnek Kullanım
Bir alt tabaka (Variant) içeren değerlerin bir alt kümesini içeren bir dizi döndürür.
Argüman | Açıklama |
---|---|
SourceArray | Aranacak metin dizisi (1 boyutlu) (Variant / Array) |
Match | Aranacak metin dizesi (String). |
[Include] | Eşleşmeyi içeren veya dışlayan alt dizeleri döndürüp döndürmeyeceğini belirtmek için TRUE veya FALSE (Boolean) |
[Compare] | Kullanılacak metin karşılaştırması türünü belirten bir vbCompareMethod sabiti (Integer): -1 = vbUseCompareOption ("Option Compare" ayarını kullanır) 0 = vbBinaryCompare 1 = vbTextCompare 2 = vbDatabaseCompare (Access veritabanı kullanır) |
Açıklamalar
* Bu işlev, belirli bir metin dizesiyle eşleşen tüm öğeler için bir dizi arar ve eşleşen öğelerin bir dizisini döndürür.
* Arama metninin tüm öğeyle mi, yoksa sadece bir bölümüyle mi eşleşmesi gerektiğini belirtmenin bir yolu yoktur.
* "SourceArray" içinde eşleşme eşleşmiyorsa, boş bir dizi döndürülür.
* "SourceArray" Null ise, o zaman bir hata oluşur?
* "[Include]" = True ise, alt dizeyi "eşleşmesini" içeren dizinin alt kümesi bir alt dizgi olarak döndürülür.
* "[Include]" = False ise, dizinin bir alt dizgi olarak "eşleşmesi" alt dizini içermeyen alt kümesi döndürülür.
* "[Compare]" boş bırakılırsa, daha sonra 0 kullanılır.
* Döndürülmüş olan dizi, eşleştirilen öğelerin sayısını içerecek kadar öğe içerir.
* Döndürülen dizi her zaman 1 boyutlu bir dizidir.
* Bu işlev, 1 boyutlu bir dizide belirli bir öğenin var olup olmadığını belirlemek için kullanılabilir.
* Bu seçenek, "Option Base 1" bildirip bildirmediğiniz dikkate alınmaksızın 0 tabanlı bir diziyi her zaman döndürür .
* Bu işlev boş bir dizi döndürebilir. Bu olduğunda, alt düzey 0 ve üst sınır -1'dir.
Örnek Kullanım
PHP:
Sub Dizilerde_Filtre()
Range("D:D").ClearContents
On Error Resume Next
Data = WorksheetFunction.Transpose(Range("A1:A81").Value)
Veri = Filter(Data, Range("C1").Value, True, vbTextCompare)
Range("D1").Resize(UBound(Veri) + 1, 1).Value = WorksheetFunction.Transpose(Veri)
End Sub
PHP:
Sub ExcelTurkey()
Dim Dizim(2) As String, SubStrings() As String
Dizim(0) = "EyExcel"
Dizim(1) = "Turkey"
Dizim(2) = "Forum"
SubStrings = Filter(Dizim, "ey", True, VBA.VbCompareMethod.vbTextCompare)
Debug.Print VBA.Join(SubStrings, ",") 'EyExcel,Turkey"
SubStrings = Filter(Dizim, "ey", True, VBA.VbCompareMethod.vbBinaryCompare)
Debug.Print VBA.Join(SubStrings, ",") 'Turkey"
SubStrings = Filter(Dizim, "ey", False, VBA.VbCompareMethod.vbTextCompare)
Debug.Print VBA.Join(SubStrings, ",") 'Forum"
End Sub
Son düzenleme: