İçeriğe geç
parazade
Orta seviyesiDers 3 / 10

Orta Ders 3: DÜŞEYARA ile İki Tabloyu Birleştirme

Yayın: · Son güncelleme:

Bu derste

Bu derste bir sipariş listesine ürün adını ve fiyatını ayrı bir ürün tablosundan DÜŞEYARA ile getirmeyi öğrenirsiniz. Tam eşleşme, aralığı sabitleme, #YOK hatasını EĞERHATA ile yakalama ve formülün sınırları ders boyunca örneklenir.

Ders sonunda şunları yapabileceksiniz

  • Ortak bir anahtar sütunla iki tabloyu ilişkilendirmek
  • DÜŞEYARA'nın dört argümanını doğru sırayla yazmak
  • Tam eşleşme için son argümanı YANLIŞ yapmak
  • #YOK hatasının nedenini bulmak ve EĞERHATA ile yönetmek
İçindekiler
  1. İki tablo neden ayrı tutulur?
  2. DÜŞEYARA'nın dört argümanı
  3. Son argüman neden YANLIŞ olmalı?
  4. Aralığı sabitlemeyi unutmayın
  5. #YOK hatası ne anlatır?
  6. DÜŞEYARA'nın sınırları
  7. Başka sayfadaki listeden veri çekmek
  8. Sıradaki adım

İki tablo neden ayrı tutulur?

Ürün bilgisini ayrı bir tabloda tutmak, aynı bilgiyi her siparişte yeniden yazma zorunluluğunu ortadan kaldırır. Sipariş listesinde yalnız ürün kodu ve adet bulunur. Ürünün adı ve fiyatı ise tek bir yerde, ürün tablosunda durur.

Fiyat değiştiğinde yalnız ürün tablosunu güncellersiniz. Siparişlerdeki tutarlar, kodu ürün tablosunda arayan formül sayesinde kendiliğinden yenilenir. İki tabloyu birbirine bağlayan şey ortak sütundur; bu derste o sütun ürün kodudur.

DÜŞEYARA'nın dört argümanı

Excel DÜŞEYARA formülü bir değeri tablonun ilk sütununda arar ve bulduğu satırdan istediğiniz sütunu döndürür. Söz dizimi =DÜŞEYARA(aranan_değer; tablo_dizisi; sütun_indis_sayısı; [aralık_bak]) biçimindedir.

Örnek dosyada siparişler A:C sütunlarında, ürün tablosu F:H sütunlarında. İlk siparişin fiyatını bulmak için B2'deki kodu F2:H6 aralığında aratırsınız.

Örnek 1: Siparişteki ürünün fiyatını bulma
ABCDEFGH
1SiparişKodAdetKodÜrünFiyat
2S-101K-01385K-01Kalem kutusu85
3S-102K-031K-02Not defteri40
4S-103K-025K-03Masa lambası650
5S-104K-052K-04Dosya25
6S-105K-014K-05Zımba120
=DÜŞEYARA(B2;$F$2:$H$6;3;YANLIŞ)

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

D2 hücresinin sonucu: 85

K-01 kodu ürün tablosunun ilk satırında; aralığın 3. sütunundaki fiyat 85 döner.

K-01 kodu ürün tablosunun ilk satırında bulunur ve aralığın 3. sütunundaki 85 döner. Sütun numarası çalışma sayfasındaki sütun harfine göre değil, seçtiğiniz aralığın içindeki sıraya göre sayılır. F sütunu 1, G 2, H 3'tür.

Son argüman neden YANLIŞ olmalı?

Kod, sicil numarası ya da e-posta gibi anahtarlarla arama yaparken son argüman her zaman YANLIŞ olmalıdır. YANLIŞ tam eşleşme demektir. Bu argümanı boş bırakırsanız Excel yaklaşık eşleşme yapar ve listeniz sıralı değilse yanlış bir satırı sessizce getirebilir.

Örnek 2: Koddan ürün adını getirme
ABCDEFGHIJ
1SiparişKodAdetKodÜrünFiyat
2S-101K-013K-01Kalem kutusu85Masa lambası
3S-102K-031K-02Not defteri40
4S-103K-025K-03Masa lambası650
5S-104K-052K-04Dosya25
6S-105K-014K-05Zımba120
=DÜŞEYARA("K-03";F2:H6;2;YANLIŞ)

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

J2 hücresinin sonucu: Masa lambası

Sütun numarası 2 olduğu için G sütunundaki ürün adı döner.

Aynı formülle ürün adını almak için yalnız sütun numarasını 2 yaparsınız. K-03 için "Masa lambası" döner. Yaklaşık eşleşme ise gelir dilimi ya da prim baremi gibi sıralı eşik tablolarında işe yarar; bu derste ona ihtiyaç yok.

Aralığı sabitlemeyi unutmayın

Formülü sipariş listesinin tamamına kopyalayacaksanız ürün tablosunun adresini $ ile sabitlersiniz: $F$2:$H$6. Sabitlemezseniz ikinci satırda aralık F3:H7'ye kayar, ilk ürün aramanın dışında kalır. Bu hata hemen fark edilmez çünkü yalnız bazı satırlar #YOK verir.

Tutarı tek adımda bulmak için DÜŞEYARA sonucunu adetle çarparsınız: =C2*DÜŞEYARA(B2;$F$2:$H$6;3;YANLIŞ). S-101 siparişinde 3 adet kalem kutusu 255 TL eder.

#YOK hatası ne anlatır?

#YOK, aranan değerin tablonun ilk sütununda bulunamadığını anlatır. Nedenlerin başında yazım farkları gelir: "K-01 " gibi sonda boşluk kalması ya da bir tarafta sayı, diğer tarafta metin olarak saklanan kodlar. Önce iki hücreyi =B2=F2 ile karşılaştırın; YANLIŞ dönüyorsa fark verinin kendisindedir.

Kod gerçekten listede yoksa hata yerine açıklayıcı bir metin göstermek tabloyu okunur kılar. EĞERHATA, formül hata verdiğinde ikinci argümandaki değeri döndürür.

Örnek 3: Listede olmayan kod için açıklama gösterme
ABCDEFGHIJ
1SiparişKodAdetKodÜrünFiyat
2S-101K-013K-01Kalem kutusu85
3S-102K-031K-02Not defteri40Kod yok
4S-103K-025K-03Masa lambası650
5S-104K-052K-04Dosya25
6S-105K-014K-05Zımba120
=EĞERHATA(DÜŞEYARA("K-09";F2:H6;3;YANLIŞ);"Kod yok")

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

J3 hücresinin sonucu: Kod yok

K-09 ürün tablosunda olmadığı için DÜŞEYARA #YOK verir, EĞERHATA bunun yerine "Kod yok" yazar.

Ürün listesinde K-09 olmadığı için "Kod yok" görünür. EĞERHATA'yı veriyi düzelttikten sonra eklemek daha güvenlidir. Aksi halde yazım hatası yüzünden bulunamayan kodlar da "Kod yok" olarak görünür ve gerçek sorun gizlenir.

DÜŞEYARA'nın sınırları

DÜŞEYARA yalnız sağa doğru bakar: aranan sütun tablonun en solunda olmak zorundadır. Kod sütunu ürün adının sağındaysa formül çalışmaz. Sütun numarasının sabit olması da bir risktir; tabloya araya yeni bir sütun eklediğinizde 3 yazan formül artık yanlış sütunu getirir.

Bu iki sınırın çözümü bir sonraki derste göreceğiniz İNDİS ve KAÇINCI ikilisidir. Microsoft 365 kullanıyorsanız ÇAPRAZARA da aynı sorunları tek fonksiyonla çözer.

Başka sayfadaki listeden veri çekmek

İşte ürün listesi çoğu zaman aynı sayfada değil, ayrı bir sayfada ya da ayrı bir dosyada tutulur. Formül mantığı değişmez, yalnız aralığın önüne sayfa adı gelir: =DÜŞEYARA(B2;Ürünler!$A$2:$C$300;3;YANLIŞ). Aralığı seçerken diğer sayfanın sekmesine tıklarsanız Excel adresi kendisi yazar.

Aylık fiyat listesi gönderen bir tedarikçiyle çalıştığınızı düşünün. Yeni listeyi Ürünler sayfasına yapıştırdığınızda bütün siparişlerin tutarı güncellenir. Listenin satır sayısı her ay değişiyorsa aralığı geniş tutmak ya da ürün listesini Excel tablosuna çevirmek, yeni ürünlerin aramanın dışında kalmasını önler.

Ürün listesi ayrı bir dosyadaysa iki dosyanın da açık olması en sorunsuz yoldur. Kaynak dosyanın adı ya da klasörü değişirse bağlantı kopar ve formüller eski değerleri göstermeye devam edebilir.

Bağlantılı dosyalarla çalışırken Veri sekmesindeki Bağlantıları Düzenle penceresi, dosyanın hangi kaynaklara bağlı olduğunu ve en son ne zaman güncellendiğini gösterir. Bir dosyayı başkasına göndermeden önce bu listeye bakmak, karşı tarafta açılmayan bağlantı uyarılarını önler.

Sıradaki adım

Alıştırmada beş siparişin tutarını, fiyatı ürün tablosundan getirerek hesaplayacaksınız. Formülü D2'ye yazdıktan sonra D6'ya kadar kopyalayın ve her satırın kendi kodunu aradığından emin olun.

Ders dosyasını indir.xlsx dosyası, ücretsiz
AlıştırmaAlıştırma: DÜŞEYARA ile Sipariş Tutarı Hesaplama →Beş siparişin tutarını, birim fiyatı ayrı bir ürün tablosundan DÜŞEYARA ile getirip adetle çarparak hesaplayın. Aralığı sabitlemeyi ve tam eşleşme argümanını bu alıştırmada birlikte uygularsınız.

Sıkça Sorulan Sorular

Excel DÜŞEYARA formülü nasıl kullanılır?

Aranan değeri, aramanın yapılacağı tabloyu, döndürülecek sütunun tablo içindeki sırasını ve tam eşleşme için YANLIŞ yazarsınız: =DÜŞEYARA(B2;$F$2:$H$6;3;YANLIŞ).

Ürün tablosu başka bir sayfadaysa formül değişir mi?

Yalnız aralığın önüne sayfa adı eklenir: =DÜŞEYARA(B2;Ürünler!$A$2:$C$50;3;YANLIŞ). Aralığı seçerken diğer sayfaya tıklarsanız Excel bu adresi kendisi yazar.

Kod listede olduğu halde #YOK alıyorum, neden?

En sık neden görünmez boşluk ya da sayı ve metin farkıdır. =UZUNLUK(B2) ile karakter sayısını kontrol edin, gerekirse KIRP ile temizleyin.