Değer ve Aralık Toplamlarını Karşılaştırma

Çözüldü Değer ve Aralık Toplamlarını Karşılaştırma

  • Konuyu başlatan Konuyu başlatan bd
  • Başlangıç tarihi Başlangıç tarihi

bd

Yıllık Dosya Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba.
Resimdeki olay nasıl çözülebilir?

Unbenannt.webp
 

Ekli dosyalar

Çözüm
Doğal olarak ilk soru için verilen cevap hata veriyor.
Her iki isteğin birlikte karşılandığı çözümün uygulandığı belge ekte.
Böylece dizi formülü kullanılmasına da gerek kalmamış oldu.
Tekrar merhaba.
Madem makro ile çözüm arayacaksınız aşağıdaki kodu kullanabilirsiniz.
A sütununda harf hücreleri dışındakilerin boş ve 0 olması sonucu değiştirmez.
CSS:
Görüntülemek için giriş yapmanız gerekmektedir.
(12 satır)
 
Makro ile çözüm önerim bir önöceki cevabımda.
Makro kullanarak dizi formülü oluştururken aşağıdaki yöntemi kullanmanızı öneriyorum.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)
 
Ömer hocam aslında bende 23.cü mesajınızda kullandığınız kodun benzerini kullanacaktım.
Fakat Makro Kaydet ile elde edilen kodu ormal Formula olayına çevirmek mesele.
Hata olmasaydı alttaki gibi yapacaktım esasında son yolladığım dosyaya göre.
Hata koddaki 100000 gibi yerleri 1000 gibi yaparsam hata olmuyor lakin 100000 gibide hata veriyor.Anlamadım gitti.



VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(8 satır)
 
Bir formül, bir de bu formüllerle sonuç alınması yönteminin uygulandığı makro alternatifi ekleyeyim.
A sütununda harf olmayan hücrelerde 0 değerinin olduğu varsayıldı.
1) Formül uygulaması:
A sütununda, B sütununun son veri hücresinin bir alt satırına (örnek belgeye göre A15 hücresine)
BOŞLUK karakteri veya herhangi bir METİN yazdıktan sonra;
-- E4 hücresine (dizi formülü)
=EĞER(A4=0;B4*KAYDIR($B$1;BÜYÜK(EĞER($A$3:A4<>0;SATIR($A$3:A4));1)-1;0);"")
-- C3 hücresine (dizi formülü)
=ARA(1*(TOPLA(KAYDIR(D3;1;0;EĞER(EMETİNSE($A4);KÜÇÜK(EĞER(EMETİNSE($A5:$A$15);SATIR($A5:$A$15));1)-SATIR(); )))-TOPLA(KAYDIR(E3;1;0;EĞER(EMETİNSE($A4);KÜÇÜK(EĞER(EMETİNSE($A5:$A$15);SATIR($A5:$A$15));1)-SATIR(); )))<>0);{0;1};{"+";"-"})
2) Formül uygulama ve değere dönüştürme şeklinde çalışan makro uygulaması:
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)
 
Ömer hocam 20.ci mesajdaki dosyaya görede mokrolu kodu uygulayabilirmisiniz.Ben biraz zor yaparım.

A sütununda, B sütununun son veri hücresinin bir alt satırına (örnek belgeye göre A15 hücresine)
BOŞLUK karakteri veya herhangi bir METİN yazdıktan sonra;
Birde buraya neden yazılacak.Kodlu örneğiniz içindemi yapılması gerek bu işlem.Ve 20.ci mesajda neden hata veriyor abey.
 
Kusura bakmayın ama şu hitap olayını düzeltmekte yarar var.

Eklenen örnek belgeye göre sorunsuz olduğundan emin olmadan formül veya makro cevabı göndermek gibi bir alışkanlığım yok.
Hala, önceki örnek belge üzerinden söylersem; A sütununda metin olmayan hücrelerde 0 değerinin olup olmayacağı bile netleşmiş değil.

Sorunuza gelince; son mesaj ekindekiyle, önceki mesajların ekindeki örnek belgeler tam olarak aynı değil.
Sanırım yine, gerçek belgeyle aynı yapıda olmayan örnek belge üzerinden sorulan bir soruyla karşı karşıyayız.
Zaten tahminim o ki; bu nedenle verilen cevapları gerçek belgenize uyarlamakta sorun yaşıyorsunuz.

Önceki örnek belgelerde;
-- A sütununda yer alan METİN ve 0 değerleri yeni belgede hiç yok (verdiğim formül ve makro cevapları bu sütun üzerinden kurgulanmış idi),
-- veri sütunları ve ilk/son veri satırları tamamen farklı.

Bunlar da; gerek benim ve gerekse de Sayın @PriveT 'in harcadığı emek ve zamanı bir anlamda çöp haline getiriyor.
Kaldı ki; son örnek belgenin de gerçek belgenizle aynı yapıda olduğuna dair bir kanaat da oluşmuyor, doğrusu.
 
Ömer hocam kusura bakmayın hata bende.Haklısınız.Son yazdığıma göre olacaktı.Bende birine yardım için konu açmıştım benimde kafa çorba oldu:)
Hayırlı geceler.
 
Sayın @Refaz68 , yine de son örnek belgenize göre cevap yazayım dedim.
Üç farklı çözüm seçeneğinin olduğu örnek belge ekte.

Ömer hocam son verdiğiniz dosydaki alttaki kodu nasıl değiştirince eğer j deki k dan küçüksede + yazsın.
yani bir şart daha eklenecekmiş şart olarakta J=k ve J<k ise + yazsın :)
Ben uyguladım yine hata oldu.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(3 satır)

Yaptığım kodda alttaki bi or ekledim hata veriyor maliesef.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)
 
Üst