Ana içeriğe geç

Excel TEXTJOIN(): Excel'de Metni Birleştirin

Hücre değerlerini TEXTJOIN() ile sorunsuzca birleştirin. Ayırıcıları yönetin, boşları atlayın ve Excel'de veri birleştirmeyi basitleştirin.
· 6 dk. oku

Yapay Zeka ile Keşfedin

Excel verilerinden iyi biçimlendirilmiş metin oluşturma sık karşılaşılan bir ihtiyaçtır; ancak değerleri peş peşe eklemek karmaşıklaşabilir. Excel'in TEXTJOIN() işlevi, bir ayırıcı kullanarak metin aralıklarını bir araya getirmenize ve boş hücreleri atlamanıza olanak tanıyan, doğrudan bir çözüm sunar. 

Bu yazıda TEXTJOIN() temellerini adım adım anlatacak, CONCAT() ve CONCATENATE() gibi benzer işlevlerle nasıl karşılaştırıldığını görecek ve parladığı pratik senaryolar üzerinde çalışacağım. İlerledikçe TEXTJOIN() lehine argümanlar sunacağım; çünkü artık metni birleştirmek için daha iyi araç olduğuna inanıyorum ve yazının sonunda sizin de ikna olacağınıza düşünüyorum.

Excel TEXTJOIN() Nasıl Çalışır

Önce TEXTJOIN() tam olarak ne yapar ve neden sözdizimi önceki seçeneklere göre çok daha esnektir, bunu netleştirelim.

Özünde TEXTJOIN(), birden fazla hücredeki metin değerlerini aralarına bir ayırıcı (virgül, boşluk veya noktalı virgül gibi) ekleyerek birleştirmenizi sağlar. Eski yaklaşımlardan farklı olarak tek seferde tüm bir aralığı işleyebilir ve boşları yok sayıp saymayacağınıza siz karar verirsiniz.

Sözdizimi şöyledir:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
  • delimiter: Her metin parçasının arasına koymak istediğiniz karakter(ler) (genellikle virgül, boşluk vb.)

  • ignore_empty: Boş hücreleri atlamak için TRUE, dahil etmek için FALSE

  • text1, [text2], …: Birleştirmek istediğiniz hücreler, aralıklar veya değerler

Örneğin A1, A2 ve A3’te değerleriniz olduğunu varsayalım. Bunları virgülle ayrılmış şekilde, boşları atlayarak birleştirmek istiyorsunuz:

=TEXTJOIN(",", TRUE, A1:C1)

Boşları atlayarak Excel TEXTJOIN

A2 boşsa, yalnızca A1 ve A3’teki değerleri virgülle ayrılmış olarak elde edersiniz.

Bu neden önemli? Diğer işlevler (CONCATENATE() aklıma geliyor) her hücreyi tek tek listelemenizi gerektirir ve boşları atlamaz. TEXTJOIN() yazması daha kısadır ve bakımı çok daha kolaydır.

TEXTJOIN() ve CONCATENATE() ve CONCAT()

Artık TEXTJOIN() temellerini ele aldığına göre, bunun eski Excel metin işlevleriyle doğrudan nasıl karşılaştırıldığını görmekte fayda var. CONCATENATE() veya CONCAT() kullandıysanız neden geçiş yapmanız gerektiğini merak edebilirsiniz.

  • TEXTJOIN(): Bir ayırıcı belirtmenize ve boşları kolayca atlamanıza izin verir. Aralıkları kabul eder.

  • CONCAT(): Aralıkları veya tek tek metin hücrelerini birleştirir, ancak bir ayırıcı belirleyemezsiniz. Boşları atlamaz.

  • CONCATENATE(): En eski seçenek. Her hücreyi tek tek belirtmeye zorlar. Ayırıcı alanı yoktur, aralık desteği de yoktur.

Örneğin, B1, B2 ve B3’teki değerleri aralarına noktalı virgül koyarak birleştirelim. Farklı işlevlerin nasıl göründüğüne bakalım:

=TEXTJOIN(";", TRUE, A1:C1)

Noktalı virgülle Excel TEXTJOIN

=CONCAT(B1:D1)

Excel TEXTJOIN vs CONCAT

=CONCATENATE(B1, C1, D1)

Excel TEXTJOIN vs CONCATENATE

Gördüğünüz gibi, yalnızca TEXTJOIN() fazladan uğraşmadan ayırıcı seçmenize imkan tanır. CONCAT() veya CONCATENATE() ile ayırıcı istiyorsanız, bunları elle eklemeniz gerekir:

=B1 & ";" & C1 & ";" & D1

Ayırıcıları elle eklemek

Ayrıca, verinizin yapısına bağlı olarak herhangi bir hücre boşsa, TEXTJOIN() bunu sizin için atlayabilir. CONCATENATE() ve CONCAT() boşu dahil eder.

Ayırıcılar ve Boş Hücrelerle Çalışma

Şu iki yaygın sıkıntı hakkında biraz daha konuşmama izin verin: tutarlı ayırıcılar ekleme ve boş hücreleri yok sayma.

Özel ayırıcılar

Farklı durumlar için farklı ayırıcılar isteyebilirsiniz. Ayraç olarak virgül, dikey çizgi, yeni satır veya başka tür karakterler kullanmak isteyebilirsiniz.

Dikey çizgiyle birleştirmek için şunu kullanın:

=TEXTJOIN("|", TRUE, D1:G1)

Dikey çizgiyle Excel TEXTJOIN

Daha niş şeyler de yapabilirsiniz. Burada ayırıcı olarak boşluk-tire-boşluk kullanıyorum:

=TEXTJOIN(" - ", TRUE, D1:G1)

Tirelerle Excel TEXTJOIN

Satır sonu için CHAR(10) bile kullanabilirsiniz; ancak etkisini görmek için hücre biçimlendirmesinde Metni Kaydır seçeneğini açmanız gerekir.

Boşları atlamak

Veri birleştirmede en sinir bozucu şeylerden biri boşlarla uğraşmaktır. TEXTJOIN() kontrolü size verir. ignore_empty bağımsız değişkenini TRUE yapın; boşlar tamamen dışarıda bırakılır.

=TEXTJOIN(", ", TRUE, E1:G1)

Boşları atlayan Excel TEXTJOIN

Sonuç: “Red, Blue”. Boş hücre (F2) yok sayılır; fazladan virgül gelmez.

ignore_empty’yi FALSE yaparsanız:

=TEXTJOIN(", ", FALSE, E1:G1)

Boşları atlamayı unutunca Excel TEXTJOIN

Şimdi sonuç: “Red, , Blue”. O fazladan virgül göze batıyor (ve genellikle istenen bu değil). Deneyimlerime göre çoğu durumda TRUE en iyisidir.

Tüm bunlar küçük bir fark gibi görünebilir; ancak bu işlevi biraz pratik ederseniz, sonradan temizlik işlerinde zaman kazanırsınız.

Dinamik Listeler ve Etiketler Oluşturma

Artık temelleri gördüğünüze göre, TEXTJOIN() ile nasıl sorun çözülebileceğini keşfedelim. Muhtemelen karşılaşacağınız iki senaryoya odaklanacağım: dinamik özetler oluşturma ve değişken veriden etiket derleme.

Kullanıcı girdilerinden özetler oluşturma

Diyelim ki kullanıcıların bir dizi isteğe bağlı soruya Evet/Hayır yanıt verdiği bir anket topluyorsunuz. Yalnızca bir kısmı yanıtlayacak; bu nedenle sonuçlar F1’den J1’e yayılmış durumda. 

Yalnızca “Yes” yanıtı verilen soruları listelemek istiyorsanız, TEXTJOIN() işlevini IF() ve FILTER() ile (yeni Excel sürümlerindeki dinamik dizilerle) birlikte kullanabilirsiniz.

G1:G5’te soru metni, F1:F5’te karşılık gelen Evet/Hayır olduğunu varsayalım:

=TEXTJOIN(", ", TRUE, FILTER(F2:J2, F1:J1="Yes"))

FILTER ile birleştirilmiş Excel TEXTJOIN

Artık çıktı hücreniz yalnızca kullanıcının “Yes” dediği soruları virgülle ayrılmış şekilde listeler.

Dinamik dizileriniz yoksa, yalnızca yanıt Evet ise soru metnini veren bir yardımcı sütun oluşturabilir, ardından bu yardımcı aralığı TEXTJOIN() ile birleştirebilirsiniz.

Değişken veriden özel etiketler oluşturma

Bazen (“Apartment” veya “Suite” gibi) bazı alanların boş olabildiği bir tablodan kargo etiketleri hazırladığınızı düşünün. Adres bileşenlerini tek satırda birleştirmek istiyorsunuz.

Adresiniz H1’de (“123 Main St”), H2’de (“Apt 4B” veya boş), H3’te (“Springfield”), H4’te (“IL”), H5’te (“62704”) ise, şöyle kullanırsınız:

=TEXTJOIN(", ", TRUE, H1:L1)

Boş hücre esnekliğiyle Excel TEXTJOIN

H2 boşsa bile çıktınız temiz kalır (çift virgül yok!) çünkü TEXTJOIN() boş hücreyi atlar.

Bunlar yaygın örneklerdir; ancak aynı mantık, isteğe bağlı alanlar veya koşullu dahil etme ile veri birleştirdiğiniz her yerde geçerlidir.

Dikkate Alınacak Diğer Noktalar

TEXTJOIN() ne kadar kullanışlı olsa da, birkaç küçük nokta var:

TEXTJOIN() ile birden fazla aralık kullanmak

TEXTJOIN() hakkında bilinmesi gereken şeylerden biri, birden fazla aralığı nasıl ele aldığıdır. Birbirine bitişik olmasalar bile birden fazla aralığı geçebilirsiniz; yeter ki ayrı ayrı listeleyin:

=TEXTJOIN(", ", TRUE, B1:D1, B2:D2)

Bitişik olmayan aralıkla Excel TEXTJOIN

Bu gayet iyi çalışır. Excel iki aralıktaki değerleri birleştirip bir araya getirir. Yalnız şunu unutmayın: Bunları (A1:A3,C1:C3) gibi tek bir dizi olarak yazamazsınız. Her aralığı kendi bağımsız değişkeni olarak listelemeniz gerekir.

İç içe işlevler ve dinamik diziler

TEXTJOIN() işlevini bir dinamik dizi formülünün (örneğin UNIQUE() veya FILTER() ile) parçası olarak kullanıyorsanız, ayırıcı ve ignore_empty bağımsız değişkenlerinin yine tekil değerler olması gerektiğini unutmayın. Buralarda dizi kullanmak #VALUE! hatası döndürür.

Ayırıcılar ve son biçimlendirme

Bazen hiç ayırıcı istemezsiniz (metnin tamamını bitişik istersiniz). Ayırıcıyı "" (boş dize) olarak ayarlayın:

=TEXTJOIN("", TRUE, A1:C1)

Ayırıcı olmadan Excel TEXTJOIN

Yalnız dikkat: Ayırıcıyı atladığınızda, bu işlevin CONCAT()’a göre başlıca üstünlüğünü kaybedersiniz.

Excel dışı kullanım için listeler oluşturuyorsanız (CSV yüklemeleri gibi), fazladan boşluklar, beklenmedik satır sonları veya karakter kodlamasına (özellikle semboller veya Unicode kullanıyorsanız) dikkat edin.

İlgili İşlevler ve İleri Teknikler

TEXTJOIN() ile rahat ettikçe, bunun diğer “dinamik” Excel işlevleriyle nasıl uyum sağladığını merak edebilirsiniz. Çoğu zaman UNIQUE(), FILTER() veya SORT() ile birlikte kullanmak onu daha da güçlü kılar.

Örneğin, bir listedeki tüm benzersiz ürün kategorilerini birleştirmek istediğinizi düşünün:

=TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(A1:E1)))

Not: UNIQUE() Excel’de varsayılan olarak sütun odaklıdır. Bir satırla çalıştığım için TRANSPOSE() de kullanmam gerekti.

Ya da yalnızca belirli bir koşulu sağlayanları isteyebilirsiniz:

=TEXTJOIN(", ", TRUE, FILTER(A1:C1, A2:C2="Active"))

Her iki örnek de TEXTJOIN() işlevinin yardımcı sütunlara veya manuel filtrelemeye gerek kalmadan veriyi özetleyip raporlayabildiğini gösterir.

Sonuç

Hâlâ CONCATENATE() kullanıyor veya hücreleri elle peş peşe ekliyorsanız, TEXTJOIN()’a geçmek size zaman kazandıracaktır. (Söz!)

Ayrıca, TEXTJOIN() öğrenmenin aralıklarla düşünmeye alışmanızı sağladığını da eklemek isterim. Bu, Excel’in dinamik dizi işlevlerini ve diğer daha modern yaklaşımları kullanırken karşılığını veren bir zihniyettir. Öğrenmeye devam etmek için Advanced Excel Functions kursumuzu alın.

Josef Waples

Yazar

Josef Waples

Bilimsel dergilerde yayımlanan araştırma makalelerine katkıları olan bir veri bilimi yazarı ve editörüyüm. Özellikle lineer cebir, istatistik, R ve benzeri konularla ilgileniyorum. Aynı zamanda epey satranç da oynarım! 

Konular

İlgili