Power Query: If ifadesi - iç içe geçmiş if'ler ve çoklu koşullar
Excel Power Query'de, IF ifadesi, sonucun DOĞRU veya YANLIŞ olmasına bağlı olarak belirli bir değer döndürmek için bir koşulu kontrol etmek için kullanılan en popüler işlevlerden biridir. Bu if ifadesi ile Excel'in IF fonksiyonu arasında bazı farklılıklar bulunmaktadır. Bu eğitimde, bu if ifadesinin sözdizimini ve sizin için basit ve karmaşık örnekleri tanıtmaktayım.
Power Query'nin temel if ifadesi sözdizimi
Koşullu sütun kullanarak Power Query if ifadesi
M kodu yazarak Power Query if ifadesi
Power Query'nin temel if ifadesi sözdizimi
Power Query'de sözdizimi şu şekildedir:
- logical_test: Test etmek istediğiniz koşul.
- value_if_true: Sonuç DOĞRU ise döndürülecek değer.
- value_if_false: Sonuç YANLIŞ ise döndürülecek değer.
Excel Power Query'de, bu tür koşullu mantığı oluşturmanın iki yolu vardır:
- Bazı temel senaryolar için Koşullu Sütun özelliğini kullanma;
- Daha gelişmiş senaryolar için M kodu yazma.
Aşağıdaki bölümde, bu if ifadesini kullanma örneklerinden bahsedeceğim.
Koşullu sütun kullanarak Power Query if ifadesi
Örnek 1: Temel if ifadesi
Burada, Power Query'de bu if ifadesini nasıl kullanacağımı tanıtacağım. Örneğin, aşağıdaki ürün raporum var, eğer ürün durumu Eski ise %50 indirim göster; eğer ürün durumu Yeni ise %20 indirim göster, aşağıdaki ekran görüntülerinde gösterildiği gibi.
1. Çalışma sayfasından veri tablosunu seçin, ardından Excel 2019 ve Excel 365'te Veri > Tablo/Aralıktan, ekran görüntüsüne bakın:
Not: Excel 2016 ve Excel 2021'de Veri > Tablodan, ekran görüntüsüne bakın:
2. Ardından, açılan Power Query Editor penceresinde Sütun Ekle > Koşullu Sütun, ekran görüntüsüne bakın:
3. Açılan Koşullu Sütun Ekle iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni Sütun Adı: Yeni sütun için bir ad girin;
- Ardından, ihtiyacınız olan kriterleri belirtin. Örneğin, Durum Eski ise %50 değilse %20 belirteceğim;
- Sütun Adı: If-koşulunuzu değerlendireceğiniz sütun. Burada Durum'u seçiyorum.
- Operatör: Kullanılacak koşullu mantık. Seçilen Sütun Adı'nın veri türüne bağlı olarak seçenekler değişiklik gösterecektir.
- Metin: ile başlar, ile başlamaz, eşittir, içerir, vb.
- Sayılar: eşittir, eşit değildir, büyüktür veya eşittir, vb.
- Tarih: önce, sonra, eşittir, eşit değildir, vb.
- Değer: Değerlendirmenizi karşılaştırmak için belirli bir değer. Sütun Adı ve Operatör ile birlikte bir koşul oluşturur.
- Çıktı: Koşul karşılandığında döndürülecek değer.
- Else: Koşul yanlış olduğunda döndürülecek başka bir değer.
4. Ardından, Tamam düğmesine tıklayarak Power Query Editor penceresine geri dönün. Şimdi, yeni bir İndirim sütunu eklendi, ekran görüntüsüne bakın:
5. Sayıları yüzde olarak biçimlendirmek isterseniz, İndirim sütun başlığından ABC123 simgesine tıklayın ve ihtiyacınıza göre Yüzde'yi seçin, ekran görüntüsüne bakın:
6. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
Örnek 2: Karmaşık if ifadesi
Bu Koşullu Sütun seçeneğiyle, Add Conditional Column (Koşullu Sütun Ekle) iletişim kutusuna iki veya daha fazla koşul ekleyebilirsiniz. Lütfen bunu şu şekilde yapın:
1. Veri tablosunu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın. Yeni pencerede, Sütun Ekle > Koşullu Sütun'a tıklayın.
2. Açılan Koşullu Sütun Ekle iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni sütun adını New column name (Yeni sütun adı) metin kutusuna girin;
- İlk kriteri ilk kriter alanına belirtin ve ardından ihtiyaç duyduğunuz diğer kriter alanlarını eklemek için Add Clause (Madde Ekle) düğmesine tıklayın.
3. Kriterleri tamamladıktan sonra, Tamam düğmesine tıklayarak Power Query Editor penceresine geri dönün. Şimdi, ihtiyacınız olan karşılık gelen sonuçla yeni bir sütun alacaksınız. Ekran görüntüsüne bakın:
4. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
M kodu yazarak Power Query if ifadesi
Normalde, Koşullu Sütun bazı temel senaryolar için faydalıdır. Bazen, AND veya OR mantığı ile birden fazla koşul kullanmanız gerekebilir. Bu durumda, daha karmaşık senaryolar için Özel Sütun içinde M kodu yazmalısınız.
Örnek 1: Temel if ifadesi
İlk veriyi örnek alarak, eğer ürün durumu Eski ise %50 indirim göster; eğer ürün durumu Yeni ise %20 indirim göster. M kodunu yazmak için lütfen şu şekilde hareket edin:
1. Tabloyu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın.
2. Açılan pencerede, Sütun Ekle > Özel Sütun, ekran görüntüsüne bakın:
3. Açılan Özel Sütun iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni sütun için bir adı New column name (Yeni sütun adı) metin kutusuna girin;
- Ardından, bu formülü: if [Status] = "Eski " then "%50 " else "%20 " Özel sütun formül kutusuna girin.
4. Ardından, bu iletişim kutusunu kapatmak için Tamam'a tıklayın. Şimdi, ihtiyacınız olan aşağıdaki sonucu alacaksınız:
5. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
Örnek 2: Karmaşık if ifadesi
Genellikle, alt koşulları test etmek için birden fazla if ifadesini iç içe yerleştirebilirsiniz. Örneğin, aşağıda veri tablom var. Eğer ürün “Elbise” ise, orijinal fiyata %50 indirim uygula; eğer ürün “Kazak” veya “Hoodie” ise, orijinal fiyata %20 indirim uygula; ve diğer ürünler orijinal fiyatlarını korusun.
1. Veri tablosunu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın.
2. Açılan pencerede, Sütun Ekle > Özel Sütun'a tıklayın. Açılan Özel Sütun iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni sütun için bir adı New column name (Yeni sütun adı) metin kutusuna girin;
- Ardından, aşağıdaki formülü Özel sütun formül kutusuna girin.
- = if [Product] = "Elbise" then [Price] * 0.5 else
if [Product] = "Kazak" then [Price] * 0.8 else
if [Product] = "Hoodie" then [Price] * 0.8
else [Price]
3. Ve ardından, Power Query Editor penceresine geri dönmek için Tamam düğmesine tıklayın ve ihtiyacınız olan verilerle yeni bir sütun alacaksınız, ekran görüntüsüne bakın:
4. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
OR mantığı, birden fazla mantıksal test gerçekleştirir ve mantıksal testlerden herhangi biri doğruysa doğru sonuç döner. Sözdizimi şu şekildedir:
Varsayalım, aşağıda bir tablom var, şimdi yeni bir sütun görüntülemesini istiyorum: eğer ürün “Elbise” veya “Tişört” ise, marka “AAA”, diğer ürünlerin markası “BBB” olsun.
1. Veri tablosunu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın.
2. Açılan pencerede, Sütun Ekle > Özel Sütun'a tıklayın, açılan Özel Sütun iletişim kutusunda lütfen aşağıdaki işlemleri yapın:
- Yeni sütun için bir adı New column name (Yeni sütun adı) metin kutusuna girin;
- Ardından, aşağıdaki formülü Özel sütun formül kutusuna girin.
- = if [Product] = "Elbise" or [Product] = "Tişört" then "AAA"
else "BBB"
3. Ve ardından, Power Query Editor penceresine geri dönmek için Tamam düğmesine tıklayın ve ihtiyacınız olan verilerle yeni bir sütun alacaksınız, ekran görüntüsüne bakın:
4. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
AND mantığı, tek bir if ifadesi içinde birden fazla mantıksal test gerçekleştirir. Tüm testlerin doğru olması, doğru sonucun döndürülmesi için gereklidir. Eğer testlerden herhangi biri yanlışsa, yanlış sonuç döner. Sözdizimi şu şekildedir:
Yukarıdaki verileri örnek alarak. Yeni bir sütun görüntülemesini istiyorum: eğer ürün “Elbise” ve sipariş 300'den büyükse, orijinal fiyata %50 indirim uygula; aksi takdirde, orijinal fiyatı koru.
1. Veri tablosunu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın.
2. Açılan pencerede, Sütun Ekle > Özel Sütun'a tıklayın. Açılan Özel Sütun iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni sütun için bir adı New column name (Yeni sütun adı) metin kutusuna girin;
- Ardından, aşağıdaki formülü Özel sütun formül kutusuna girin.
- = if [Product] ="Elbise" and [Order] > 300 then [Price]*0.5
else [Price]
3. Ardından, Power Query Editor penceresine geri dönmek için Tamam düğmesine tıklayın ve ihtiyacınız olan verilerle yeni bir sütun alacaksınız, ekran görüntüsüne bakın:
4. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
OR ve AND Mantıkları ile if ifadesi
Peki, önceki örnekler bizim anlamamız için kolaydı. Şimdi, biraz daha zor hale getirelim. AND ve OR’u birleştirerek hayal edebileceğiniz her türlü koşulu oluşturabilirsiniz. Bu türde, karmaşık kuralları tanımlamak için formüle parantez ekleyebilirsiniz.
Yukarıdaki verileri de örnek alarak, varsayalım yeni bir sütun görüntülemesini istiyorum: eğer ürün “Elbise” ve siparişi 300'den büyükse veya ürün “Pantolon” ve siparişi 300'den büyükse, “A+” göster, aksi takdirde, “Diğer” göster.
1. Veri tablosunu seçin ve Power Query Editor penceresine gitmek için Veri > Tablo/Aralıktan'a tıklayın.
2. Açılan pencerede, Sütun Ekle > Özel Sütun'a tıklayın. Açılan Özel Sütun iletişim kutusunda, lütfen aşağıdaki işlemleri yapın:
- Yeni sütun için bir adı New column name (Yeni sütun adı) metin kutusuna girin;
- Ardından, aşağıdaki formülü Özel sütun formül kutusuna girin.
- =if ([Product] = "Elbise" and [Order] > 300 ) or
([Product] = "Pantolon" and [Order] > 300 )
then "A+"
else "Diğer"
3. Ardından, Power Query Editor penceresine geri dönmek için Tamam düğmesine tıklayın ve ihtiyacınız olan verilerle yeni bir sütun alacaksınız, ekran görüntüsüne bakın:
4. Son olarak, lütfen Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle'ye tıklayarak bu verileri yeni bir çalışma sayfasına yükleyin.
Özel sütun formül kutusunda, aşağıdaki mantıksal operatörleri kullanabilirsiniz:
- = : Eşittir
- <> : Eşit değildir
- > : Büyüktür
- >= : Büyük veya eşittir
- < : Küçüktür
- <= : Küçük veya eşittir
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!