Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Beyin Fırtınası
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Beyin Fırtınası Bu başlıkta, ilginç olduğunu düşündüğünüz sorularınızı, bir problem şeklinde sorabilir, alternatif olduğunu düşündüğünüz çözümlerinizi paylaşabilirsiniz. (Bu başlıkta yeni konu açılması onaya bağlıdır.)
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 10-04-2007, 13:50   #1
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan İki değer arasında kalan değerin karşılığı

Merhaba

Açıklamamı ekli, dosyada yazdım.
istenen : İki değer arasında kalan verinin karşılığı olan değerin istediğimiz sütuna getirilmesi.
Bir bakıma düşeyara diyebiliriz ama nasıl..

Daha önce Türker arkadaşım tarafından sütun ilavesi yapılarak formülle çözülmüştü.
Bende aynı konuyu soran başka bir arkadaşıma aynı çözümü önermiştim

Alternatifleri olabilirmi...

Burada ilk çözüm excel'in kendi işlevlerini kullanmak.Tabiiki diğer arkadaşlara yol göstermek açısındam Kullanıcı tanımlı fonk.ve makro ilede çözümler üretebiliriz.
Eklenmiş Dosyalar
Dosya Türü: xls arasında_veri_bul_cozum_V1.xls (73.0 KB, 553 Görüntülenme)
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz

Bu mesaj en son " 01-04-2010 " tarihinde saat 16:46 itibariyle zafer tarafından düzenlenmiştir....
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 13:57   #2
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

H2 hücresine

=ARA(G2;{1;4;7;10;13;16};{"A";"B";"C";"D";"E";""}) yazılıp aşağı doğru çekilir.

Bu mesaj en son " 10-04-2007 " tarihinde saat 14:18 itibariyle Ali tarafından düzenlenmiştir....
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 14:00   #3
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

H2 Hücresine aşağıdaki formülü yazıp, aşağıya doğru kopyalayabiliriz.

=DOLAYLI("C"&TOPLA.ÇARPIM(($A$2:$A$6<=G2)*($B$2:$B $6>=G2)*(SATIR($C$2:$C$6))))

Formülün açıklaması:

TOPLA.ÇARPIM (SUMPRODUCT) çok kriterli aramalarda büyük avantaj sağlayan bir dizi fonksiyonudur. Her parantez içi bir kriteri belirlerken son parantez içi bulunacak verinin bulunduğu aralığı temsil eder.

Fonksiyon içindeki ($A$2:$A$6<=G2) parantezi "G SÜTUNUNDAKİ DEĞER A SÜTUNUDAKİ DEĞERE EŞİT veya BÜYÜKSE" kriterini ararken,

($B$2:$B$6>=G2) parantezide "B SÜTUNUNDAKİ DEĞERE EŞİT veya KÜÇÜKSE" kriterini arar.

Her iki kritere uyan satırdaki veride (SATIR($C$2:$C$6))) parantezi ile bulunur. Peki SATIR fonksiyonu burada neden kullanılmıştır. Bunuda açıklamaya çalışayım.

TOPLA.ÇARPIM fonksiyonu sadece sayısal değer döndürür, halbuki formülden getirmesi istenen C sütunundaki veriler sayısal değildir, bu sebeple fonksiyon hata verecektir. Bu hatayı engellemek ve sayısal bir veri döndürmek için bulunan verinin bulunduğu satır nosunu getirmesini uygun gördüm. Satır ve sütun nosu belli olan bir verinin değerini bulmak artık çok kolay olacaktır. Bu işlem içinde DOLAYLI fonksiyonu kullanılmıştır.

=DOLAYLI("C"&...) fonksiyonunda "..." olan yere satır nosunun yazılması gerekir, işte bu değeri bize TOPLA.ÇARPIM fonksiyonu vermektedir.

DOLAYLI("C"&1) = DOLAYLI("C1") = C1 dir.
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 14:14   #4
AS3434
 
Giriş: 13/01/2005
Şehir: Kayseri
Mesaj: 1,823
Excel Vers. ve Dili:
M.Office/Excel 2007 Türkçe
Varsayılan

Eğer veriler örnekteki gibiyse (Yani A3>B2....A6>B5 gibi)

H2 hücresine

=DÜŞEYARA(G2;$A$2:$C$7;3)

Yazabiliriz. Yalnız dezavantajı, Örnekteki en büyük rakam 15, ama biz H2'ye 20 yazarsak 15 'in karşılığı "E"'yi yazar.

Onu da şöyle aşabiliriz;

=EĞER(G2>BÜYÜK($B$2:$B$7;1);"";DÜŞEYARA(G2;$A$2:$C $17;3))
__________________
FORUM KURALLARI

Ey Türk gençliği!
Birinci vazifen, Türk istiklalini, Türk Cumhuriyetini, ilelebet, muhafaza ve müdafaa etmektir.
Mustafa Kemal ATATÜRK

GENÇLİĞE HİTABE
AS3434 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 15:42   #5
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

Teşekkürler.
Sayın Ali , Sayın AS3434

Kullandığım verier sizleri yanıltmış olabilir.Düşünmem gerekirdi özür dilerim burada istenen iki değer arasında kalan değeri bulmalı.(değerler birbirini takip etmeyebilir bir birini satır bazında takip eden hücrelerdeki değerlerde büyük sayı farklılıkları olabilir)

Bulunan değer en yakın değerde olmamalı

Çözüm için A ve B sütunundaki değerlerin ikisinide kullanmak gerekir diye düşünüyorum.

Kodlar arasında sayı atlayabilir.Kod aralıklarıda 50 (daha az , daha fazla)satır olabilir.

şöyleki.

1 3 A
4 8 B
17 23 C
45 49 D
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz

Bu mesaj en son " 10-04-2007 " tarihinde saat 15:49 itibariyle zafer tarafından düzenlenmiştir....
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 15:48   #6
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

Alıntı:
zafer tarafından gönderildi Mesajı Görüntüle
Bulunan değer en yakın değerde olmamalı

Çözüm için A ve B sütunundaki değerlerin ikisinide kullanmak gerekir diye düşünüyorum.

Kodlar arasında sayı atlayabilir.

şöyleki.

1 3 A
4 8 B
17 23 C
45 49 D
Zafer Bey sayı atlasın önemli değil aralığı biz belirlediğimize göre

Bu seferde

=ARA(G2;{1;4;17;45;50};{"A";"B";"C";"D";""}) şeklinde düzenleyebiliriz.

50 ve yukarısı için boş hücre yazacaktır.

Dizi 1 sayısı aldığında karşılığındaki A sayısını oku. 3 kadar A kabul et 4 olduğunda ise
4 {1;4;17;45;50} dizisinin ikinci elemanı olduğudan {"A";"B";"C";"D";""} dizisinin ikinci elemanı olan B harfini getirecektir.

Diğer sayılarda buna göre takip edecektir.
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 15:53   #7
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

Sayın Ali çözümünüz tabiiki oluyor.

=ARA(G2;{1;4;17;45;50};{"A";"B";"C";"D";""})

burada 5 satır üzerinden hesaplama var, 50 satır olarak düşünürsek 256 karakteri geçecektir.
yani kodlar A1 hücresinden C70 kadar gidebilir.

anlatmak istediğim oydu.
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 16:17   #8
Recep İpek
Uzman
 
Recep İpek kullanıcısının avatarı
 
Giriş: 14/02/2006
Şehir: İstanbul
Mesaj: 3,439
Excel Vers. ve Dili:
( Excel 2010 - İngilizce )
Varsayılan

Sanırım Kullanıcı Tanımlı Fonksiyon ile bu şekilde olabilir.

Burada alan1 bölümüne A kolonunu, alan2 bölümüne B kolonunu, alan3 bölümüne C kolonunu,
alan4 bölümüne ise kriteri yani ilki için G2 hücresini seçmek yeterlidir.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Function SONUC(alan1, alan2, alan3, alan4 As Range)
For i = 1 To alan1.Count
If alan4 >= alan1(i) And alan4 <= alan2(i) Then
SONUC = alan3(i)
End If
Next i
End Function
Eklenmiş Dosyalar
Dosya Türü: zip arasnda_veri_bul01.zip (7.3 KB, 80 Görüntülenme)
__________________
www.excel.web.tr
Recep İpek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 17:54   #9
Selçuk
 
Selçuk kullanıcısının avatarı
 
Giriş: 14/10/2006
Şehir: bAnDıRmA
Mesaj: 408
Excel Vers. ve Dili:
excel 2003 TR
Varsayılan

Değerli üstadlarımızın yanında cevap vermek bize düşer mi bilmem ama, bir alternatif de ben düşünmüştüm..


=EĞER(EHATALIYSA(DOLAYLI("C"&KAÇINCI(EĞER(VE(G2>=A 2;G2<=B2);A2;"1");A:A;0)));"MARKA YOK";DOLAYLI("C"&KAÇINCI(EĞER(VE(G2>=A2;G2<=B2);A2 ;"1");A:A;0)))

sanırım çözüme gidiyor bu da..

saygılar.
__________________
[FONT=Lucida Console][B]Sözkonusu VATAN ise, gerisi teferruattır!..[/B][/FONT]

Bu mesaj en son " 10-04-2007 " tarihinde saat 18:39 itibariyle Selçuk tarafından düzenlenmiştir....
Selçuk Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-04-2007, 20:44   #10
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

Alıntı:
zafer tarafından gönderildi Mesajı Görüntüle
Merhaba

Sayın Ali çözümünüz tabiiki oluyor.

=ARA(G2;{1;4;17;45;50};{"A";"B";"C";"D";""})

burada 5 satır üzerinden hesaplama var, 50 satır olarak düşünürsek 256 karakteri geçecektir.
yani kodlar A1 hücresinden C70 kadar gidebilir.

anlatmak istediğim oydu.
Belirttiğiniz durum için;

=DÜŞEYARA(MAK(EĞER($A$2:$A$6<=G2;$A$2:$A$6));$A$2:$C$6;3;0))

CTRL+SHIFT+ENTER tuşları girilerek dizi formülüne çevrilerek yapılabilir.

B sütunundaki maksimum değerden büyük yazıldığında değer vermemesi için ise


=EĞER(G2>MAK($B$2:$B$6);"";DÜŞEYARA(MAK(EĞER($A$2:$A$6<=G2;$A$2:$A$6));$A$2:$C$6;3;0))

CTRL+SHIFT+ENTER tuşları girilerek dizi formülüne çevrilerek yapılabilir.
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 13:14


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden