İnterpolasyon Hesaplaması

Katılım
20 Ocak 2007
Mesajlar
112
Excel Vers. ve Dili
excel-2003 türkçe
İnterpolasyonu excel'de formül ile hesaplattırabilirmiyiz ?

Ek'teki dosyaya bakıp cevap verirseniz memnun olurum,
Ben bunu bazı arkadaşların yardımıyla makro ile çözdüm fakat, fonksiyonlada yapmak istiyorum.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
A.Akyurek'e ait çalışmadan derlenmiştir.

Örneğiniz ektedir
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Tek hücrede işlem yapmak istediğiniz için, acaip uzun oldu ama, D2 hücresine aşağıdaki formülü yazınız.

=EĞER(EHATALIYSA(DÜŞEYARA(C1;LİSTE;2;0));((DÜŞEYARA(DOLAYLI("A"&KAÇINCI(1;(İNDİS(--(LİSTE>C1);;1));0));LİSTE;2;0)-DÜŞEYARA(C1;LİSTE;2))/(DOLAYLI("A"&KAÇINCI(1;(İNDİS(--(LİSTE>C1);;1));0))-DÜŞEYARA(C1;LİSTE;1)))*(C1-DÜŞEYARA(C1;LİSTE;1))+(DÜŞEYARA(C1;LİSTE;2));DÜŞEYARA(C1;LİSTE;2;0))

Eğer burdan kopyalamak isterseniz

Kod:
 =EĞER(EHATALIYSA(DÜŞEYARA(C1;LİSTE;2;0));((DÜŞEYARA(DOLAYLI("A"&KAÇINCI(1;(İNDİS(--(LİSTE>C1);;1));0));LİSTE;2;0)-DÜŞEYARA(C1;LİSTE;2))/(DOLAYLI("A"&KAÇINCI(1;(İNDİS(--(LİSTE>C1);;1));0))-DÜŞEYARA(C1;LİSTE;1)))*(C1-DÜŞEYARA(C1;LİSTE;1))+(DÜŞEYARA(C1;LİSTE;2));DÜŞEYARA(C1;LİSTE;2;0))

LİSTE alan adıdır. (A1:B45)
 
Katılım
20 Ocak 2007
Mesajlar
112
Excel Vers. ve Dili
excel-2003 türkçe
Ali Bey teşekkür ederim ama, sonucu doğru hesaplamıyor.

AS3434 sizin örneği uygulayamadım, siz dosya eki gönderebilirseniz iyi olur.

İnterpolasyon hesaplaması herhalde fonksiyonla sağlıklı sonuç vermiyecek. Makro doğru sonuç için daha sağlıklı görünüyor.

İlginiz için teşekkür ederim.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
Ali Bey teşekkür ederim ama, sonucu doğru hesaplamıyor.

AS3434 sizin örneği uygulayamadım, siz dosya eki gönderebilirseniz iyi olur.

İnterpolasyon hesaplaması herhalde fonksiyonla sağlıklı sonuç vermiyecek. Makro doğru sonuç için daha sağlıklı görünüyor.

İlginiz için teşekkür ederim.
22400 için beklenilen doğru sonuç ne?
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
22400 için beklenilen doğru sonuç ne?

29.907
Sn AS3434 ün gönderdiği formülü Sn yasso38 'in dosyasına uygurlarsak çıkan sonuç. Ayrıca elle yaptığım hesaplamada da doğru sonuç veriyor.

Sn yasso38 Yukarda ki formülü dosyasına uyarlayamamış gibi.
 
Katılım
20 Ocak 2007
Mesajlar
112
Excel Vers. ve Dili
excel-2003 türkçe
Sayın Kombo teşekkür ederim. Evet doğru hesaplıyor, ben dosyaya uyarlıyamamışım.
Sn. AS3434' ede teşekkür ederim.

Artık dosyamı makrosuz yapabilecem. Makro olmamasını istememin sebebi yaptığım dosyayı bazı arkadaşlara da veriyorum dosyayı makro güvenlik düzeyinden dolayı çalıştıramıyorlardı.

Tekrar teşekkürler.
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Sn kombo formülü dosyaya uygulamış. Teşekkür ederim.
Ben de formülü hesaplarken hazırladığım sağlaması yapılmış dosyayı ekliyeyim.

Yine unuttum dosyaya yazmayı. Dosyada alan adı tanımlanmıştır!!
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Farklı bir formül D2 hücrenize aşağıdaki formülü yazınız

=(İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1)+1)-İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1)))/(İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)+1)-İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)))*(C1-İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)))+İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1))

Örneğinide ektedir.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
Farklı bir formül D2 hücrenize aşağıdaki formülü yazınız

=(İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1)+1)-İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1)))/(İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)+1)-İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)))*(C1-İNDİS(A1:A45;KAÇINCI(C1;A1:A45;1)))+İNDİS(B1:B45;KAÇINCI(C1;A1:A45;1))

Örneğinide ektedir.
Güzel.

İlk yanıtında son formülün...

=G21+IF(F21=H21,0,IF(C1>F21,(C1-F21)/(H21-F21)*(I21-G21),0))

olması gerekirdi...
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Güzel.

İlk yanıtında son formülün...

=G21+IF(F21=H21,0,IF(C1>F21,(C1-F21)/(H21-F21)*(I21-G21),0))

olması gerekirdi...
Alaaddin Hocam,haklısınız. Bende sonradan farkettim.

Matlab ile deniyordum, formülünüz hatasız çalışıyordu. Bu dosyada neden olmuyor diyorum.Dediğiniz gibi son formülü kaydırmışım.
 
Katılım
20 Ocak 2007
Mesajlar
112
Excel Vers. ve Dili
excel-2003 türkçe
Bu arada bende makrolarla yapılmış interpolasyonu, formüllerle yapılmış interpolasyonlarla birleştirdim. Site içinde örnek dosya olur. Yalnız 2. formülde 22500 değeri #BASV değeri veriyor (22500 son değer). Bilginiz olsun
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
G1 hücresine

=EĞER(KAÇINCI(C1;A1:A45;1)=BAĞ_DEĞ_SAY(A1:A45);BAĞ_DEĞ_SAY(A1:A45)-1;KAÇINCI(C1;A1:A45;1)

yazın D2 hücrenize

=(İNDİS(B1:B45;G1+1)-İNDİS(B1:B45;G1))/(İNDİS(A1:A45;G1+1)-İNDİS(A1:A45;G1))*(C1-İNDİS(A1:A45;G1))+İNDİS(B1:B45;G1)

yazın o zaman hata vermez.

Farklı yöntemler ile yapılmış örnek ektedir.
 
Katılım
6 Kasım 2007
Mesajlar
1
Excel Vers. ve Dili
2003-tr
Benden De Bİr Soru

Merhaba ArkadaŞlar Forumunuza Yenİ Üye Oldum. Benİmde İnterpolasyon Konusunda Sorunlarim Var. Sİzdekİ Mesajlari İnceledİm Fakat Verİlen 1 X DeĞerİmne 1 Y DeĞerİ Buluyor.
Benİm Sorum İse Ektekİ Gİbİ 1 X DeĞerİ Ve BİrÇok Y DeĞerİ İÇİnde İnterpolasyon Yapmasi Nasil Olacak.
Yardimci Olursaniz Sevİnİrİm
TeŞekkÜrler Saygilar.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Çoklu sütunlara göre interpolasyon ektedir.

Açık mavi ile belirttiğim kısımlar yardımcı kısımlardır.

Girilen x ve y değerlerine karşılık gelen interpolate edilmiş değer, yeşil olarak renklendirdiğim kısımda gözükmektedir.

Örnek dosyanız ektedir.
 
Katılım
25 Aralık 2007
Mesajlar
3
Excel Vers. ve Dili
2003
ingilizce
bir boyut daha olsaydı yani elimizdeki x,y,z degerlerinden yararlanarak istedigimiz x ve y degerlerindeki z leri excel de functionla bulabilir miyiz?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Bu kullanıcı tanımlı bir fonksiyon.

ALT+F11 ile VBA düzenleyici açarsanız, kodları görebilirsiniz.

Sizin yapmanız gereken çalışmanızın VBA düzenleyicisini açıp bu kodları Insert-Module ile bir module ekleyip içine yapıştırmaktır.

Kategoriler içinde kullanıcı tanımlı fonksiyonlar içinde artık bu fonksiyonu görebileceksiniz.


 
Üst