Excel formülü: Virgülle ayrılmış listede birden çok eşleşme -

İçindekiler

Genel formül

(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))

Özet

Virgülle ayrılmış bir listede (tek bir hücrede) birden çok eşleşmeyi aramak ve almak için EĞER işlevini METİNBİRLEŞTİR işleviyle birlikte kullanabilirsiniz. Gösterilen örnekte, F5'teki formül şöyledir:

(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))

Bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.

Bu formül, "ad" (B5: B11) ve "grup" (C5: C11) adlı aralıkları kullanır.

Açıklama

Bu formülün özü, tablodaki adları aşağıdaki gibi renge göre "filtreleyen" EĞER işlevidir:

IF(group=E5,name,""))

Mantıksal test, adlandırılmış aralıktaki "grup" içindeki her bir hücreyi E5'teki renk değeri için kontrol eder (bu durumda kırmızı). Sonuç şuna benzer bir dizidir:

(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)

Bu sonuç, sırayla "ad" adlı aralıktaki adları filtrelemek için kullanılır:

("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")

Her DOĞRU için ad, her YANLIŞ için, EĞER boş bir dize ("") döndürür.

IF görünümünün sonucu şu dizidir:

("";"";"Jude";"Aya";"";"";"George")

metin1 olarak METİNBİRLEŞTİR işlevine gider.

TEXTJOIN, sınırlayıcı olarak virgül kullanacak ve boş değerleri yok sayacak şekilde yapılandırıldı. Nihai sonuç şu metin dizesidir:

"Jude, Aya, George"

Birden çok koşul

VE veya VEYA işlevlerini bunun gibi bir dizi formülünde kullanamazsınız çünkü bunlar yalnızca tek bir sonuç verir. AND için aşağıdaki gibi boole mantığını kullanabilirsiniz:

=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))

Burada daha ayrıntılı olarak açıklanmıştır.

Ilginç makaleler...