İlginç ve ihtiyaç duyulan bir çıkarma işlemi

Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
A2'de Çıkarılan, B2'de Çıkan, C2'de Fark var
B2'nin verisini sürekli değiştiriyorum.

Örneğin
Önce B2'ye 2 yazdım, fark 2 eksildi.
Sonra B2'ye 5 yazdım, fark 5 daha eksildi
Daha Sonra B2'ye 3 yazdım, fark 3 daha eksildi.
Ve sonuç olarak fark 10 eksildi.
Makro kullanmadan.

Yapılabildiğini biliyorum. Nasıl yaıldığını unuttum. Sanırım Dolaylı fonksiyonu kullanılıyordu. Yardımcı olacaklara şimdiden teşekkürler
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Bizi de merak içinde bıraktınız. Eğer elinizdeyse, bahsettiğiniz dosyayı buraya ekleyebilir misiniz? Siz makro değil dediniz ama ben makro ile yapıldığını sanıyorum.
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın Mehmett,
Hala dolaylı formülü kullanarak görüp unuttuğum şeyi çözmeye uğraşıyorum.
Konuyla ilgili dosyayı bulabilirsem burada sizinle paylaşırım. Ancak yine de bilen biri mutlaka vardır.
İlginize teşekkür ediyorum
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Excel formüllerinin dinamik olması sebebi ile bu söylediğinizin fonksiyonlarla çözümü pek mümkün görünmüyor. Ancak hücredeki değer değişse bile eski değeri hafızada tutacak bir fonksiyon oluşturulabilirse dediğinizi yapmak mümkün. Gerçi excelde mümkün değil sözünü her zaman tereddüt içinde kullanırım. Eğer böyle bir çözüm bulunmuşsa açıkçası bende çok merak ediyorum.
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın Leventm
İlginize çok teşekkür ederim. Bu geç saatte sizi meşgul ettim.
Bunun çok basit bir makrolu çözümüne ihtiyacım olacak.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfanın kod sayfasına kopyalayarak deneyin.

Kod:
Dim eski
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$2" Then Exit Sub
If [b2] = 0 Then eski = 0
[c2] = [a2] - ([b2] + eski)
eski = [b2] + eski
End Sub
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Bu işlemin DOLAYLI fonksiyonu ile yapıldığını sanıyordum.
Konuyla ilgili arkadaşı aradım. Bu işin DOLALI fonksiyonu ile değil, Döngüsel başvurudan faydalanarak yapıldığını ancak dosyanın bilgisayarından silinmiş olabileceğini, konuyu tekrar inceleyeceğini belirtti. Konuyu öğrenince formdaki arkadaşlarla paylaşacağım.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Levent Bey makro ile güzel bir çözüm bulmuş ama kullandığım morefunction eklentisi ilede yapabildim.Sonuçta yerleşik bir fonksiyon değil. Alternatif olarak dursun diye ekledim.

Morefunction programı içindeki setup ile kurun.Excelde olmayan birçok fonksiyonları içeren bir eklentiniz olacaktır.

http://www.hemenpaylas.com/download/1476917/Morefunc.zip.html

Recall fonksiyonu kullanacağız.

A1 hücrenizde 10 olsun
B1 sürekli değiştirdiğiniz hücre olsun
C1'e =A1-D1 yazın
D1 hücrenizdede =RECALL(DOĞRU)+B1 değeri olsun.

D1 hücresinde sürekli toplanarak A1 hücresinden çıkarılacaktır.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
D&#246;ng&#252;sel ba&#351;vurudan faydalanarak yap&#305;ld&#305;&#287;&#305;n&#305;
Bu c&#252;mlenizin ard&#305;ndan bir ara&#351;t&#305;rma yapt&#305;m. Evet d&#246;ng&#252;sel ba&#351;vuru ve yineleme say&#305;s&#305; de&#287;eri de&#287;i&#351;tirilerek ayr&#305;ca d&#246;rd&#252;nc&#252; bir h&#252;cre kullan&#305;larak &#231;ok sa&#287;l&#305;kl&#305; olmasada b&#246;yle bir i&#351;lem yapmak m&#252;mk&#252;n oluyor. Bunun i&#231;in a&#351;a&#287;&#305;daki i&#351;lem s&#305;ras&#305;n&#305; takip edin. Siz &#252;zerinde yo&#287;unla&#351;arak daha da geli&#351;tirebilirsiniz.

1-ara&#231;lar-se&#231;enekler-hesaplama-yineleme kutusunu i&#351;aretleyin ve yineleme de&#287;erini 1 (bir) yap&#305;n.

2-&#214;rnek olarak A2 h&#252;cresine 10 (on) yaz&#305;n.

3-C2 h&#252;cresine "=A2+C1" form&#252;l&#252;n&#252; yaz&#305;n.

4-C1 h&#252;cresine "=A2-B2+C1-A2" form&#252;l&#252;n&#252; yaz&#305;n.

5-B2 h&#252;cresine rakamlar yazarak yap&#305;lan i&#351;lemi g&#246;zlemleyin. C2 h&#252;cresindeki say&#305; B2 ye yaz&#305;lanlar&#305;n toplam&#305;n&#305;n A2 h&#252;cresinden fark&#305; olacakt&#305;r.
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın leventm
teşekkür ederim.
Hazırladığım proğramın diğer kullanıcıları için Seçenekler + Hesaplama menüsündeki yineleme değerini 1 yapmak için sanırım yine makro kullanacağım.
 
Üst