• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Aritmetik Olmayan Sıralama Makrosu

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ArasKo

Yeni Üye
Katılım
8 Mar 2023
Mesajlar
84
Aldığı beğeni
15
Excel V
Office 2016 TR
Konu Sahibi
Dostlar tünaydın. Eğer mümkünse sizden basit bir makro ricam olacaktı. Örnek dosyada sayfa1'e bakalım:Sütun A' ya alt alta gelecek şekilde çeşitli sayı grupları sıraladık. Sıralamalar gelişigüzel; aritmetik sıra gözetilmemiş ve de bazı rakamlar birden fazla yer alabiliyor. Sütun D' de ilk satırda ise, A' daki yedi satırda yer alan sayı gruplarında kullanılan rakamlar aritmetik sıraya göre verilmiş. Ben istiyorum ki "Kullanılan Rakamlar" aritmetik sıraya göre değilde, sütun A' daki önceliklerine göre sıralansın. Mesela; sütun A' da ilk sırada 10 var, sonra 1, 6 ve 4 diye devam ediyor. "Kullanılan Rakamlar" Sütun D' de 1,3,4,... şeklinde değil de 10,1,6,4,.. şeklinde sıralanmış olarak verilsin. İkinci aşamada makro şunu hesaplasın eğer sütun F1' e 1,5,8 gibi aritmetik rakamlar kümesi girdiysem, D1' deki sonuçtaki rakamların yerine göre tekrardan sıralama yapsın. Diyelim ki D1' de 10,1,6,4,3,14,13 gibi bir rakamlar kümesi var. Ben F1' e 1,3,6,10 yazdığımı düşünün. İşte buradaki sıralamadaki önceliği, D1 ' e bakarak yeniden düzenlesin. Yani 1,3,6,10 kümesindeki rakamların dizilişi D1' deki gibi olsun. Buna göre yeni sıralama 10,1,6,3 olur. Bu sonuç da H1' e yazsın. Ama F1 boşsa, sadece D1 için hesaplama yapılsın. Eğer yardımcı olabilirseniz çok memnun olurum.
 
Sorununuz pek de anlaşılır değil. A sütunundaki Verilerin D1 deki gibi görünmesini istiyorsanız.. Office 365 Excel versiyonu kullansaydınız herhangi bir hücreye resimdeki formülü yazmanız yeterliydi.

Adsız20.png

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Sorununuz pek de anlaşılır değil. A sütunundaki Verilerin D1 deki gibi görünmesini istiyorsanız.. Office 365 Excel versiyonu kullansaydınız herhangi bir hücreye resimdeki formülü yazmanız yeterliydi.

Ekli dosyayı görüntüle 21270

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Evet biraz karışık oldu. Basit olanı zorlaştırdım gibi. Tekrardan açıklamak istiyorum: Şu an resimde de görüldüğü üzere sütun A' da yedi adet rakam kümesi var. Makro bu kümelerde kullanılan rakamları D1' de sıralasın fakat aritmetik olarak değil. Şu an sizin de paylaştığınız resimde D1' de aritmetik sıralama var. Kullanılan rakamlar, sütun A' daki öncelik sırasına göre sıralansın. Mesela sütun A' da en başta 10 var, D1' de de en başta 10 olmalı. İkinci sırada 1 var, D1' de de 1 olmalı şeklinde sıralama yapmalı. Yani makro A1' den başlayarak aşağı doğru taraya taraya buradaki öncelik sıralamasını esas alarak, D1' deki "kullanılan rakamlar" listesini oluştursun. Diyelim ki bu şekilde bir sıralama yapıldı. İkinci aşama olarak ben F1' e aritmetik sıralamaya göre rakamlar kümesi yazmış olabilirim. İşte buradaki sıralama da D1' deki rakamlardaki önceliğe göre tekrardan sıralansın. Diyelim; F1' e 1,2,3,4 var. D1' deki sıralamada 4, 1' den önce geliyorsa, F1' deki sıralamada da o şekilde düzenleme yapılmalı ve aritmetik olmayan sıralama sonucu da H1' de yer alsın. Eğer F1 zaten boşsa herhangi bir ikinci aşama işlemi yapılmasın.
 
keşke örnek üzerinde renklendirip anlatsaydın.gerçekten anlamak çok zor. Bir örnek hazırladım kntrol edin
 
Makrolu cevabını bilmiyorum ama ofis 365 kullanıyorsanız resimdeki formül çözüm olurdu.

Adsız21.png

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Makrolu cevabını bilmiyorum ama ofis 365 kullanıyorsanız resimdeki formül çözüm olurdu.

Ekli dosyayı görüntüle 21301

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Elimizde D1' deki bir rakamlar kümesi var. Bu rakamlardan hangisi sütun A' da ilk olarak yer alıyor ? 10. 10' u yazdık. ikinci olarak hangisi var ? 1, Üçüncü ? 6. Bu şekilde sıralancak. Mesela 19 en sonda yer almış.(Bknz. A7). 17 ise en sondan bir önce yer almış. İşte D1' eki aritmetik sıralamayı, A1' deki rakamların yer alış sırasında göre dönüştürmemiz gerekiyor.
 
Konu Sahibi
VetExc hocama yazddığım cevaba bakın lütfen.
Bir de şu şekilde ele alabiliriz: Sütun A' da kullanılan tüm rakamları aritmetik değil de geliş sırasına göre sıralayalım: 10,1,6,4,3,14,13,5,14,8... Şimdi bu listeden, D1' de yer alan rakamlar hariç hepsini silelim. İşte makrodan istenilen sonuç bu olur. İkinci aşamada F1' de bir rakamlar kümesi var. Bu sefer bir önceki oluşturduğumuz kümeden, F1' deki rakamlar hariç hepsini silsin, sonucu H1' e yazsın.

Galiba bu şekliyle daha anlaşılır oldu.
 
sorunu anlamak çözümün yarısıdır. İşlem Doğrumu?
1698315439222.png
 
Konu Sahibi
sorunu anlamak çözümün yarısıdır. İşlem Doğrumu?
Ekli dosyayı görüntüle 21310
1- D1'e yazdık,
2- D4' te sütun A' da kullanılan tüm sayıların öncelik sırasına göre sıralaması var,
3- D6' da D4' den D1 dışındakiler silindi,
4- D8' de ise, D6' dan F1 dışındakiler silinecekti, tam tersi F1' dekiler silinmiş. Buradaki hatanın düzeltilmesi gerek
5- İşleme başlarken D1 yazılı, F1 ise bazen yazılı olacak. D1 yazılı ise D6' daki sonuç sadece yer alacak, F1 de yazılıysa ekstradan D8' deki sonuç da yer alacak

Hocam yukarıda maddeledim, sadece 4.maddeyi düzeltebilirsek işlem tamam demektir.
 
Sanırım istediğiniz böyle bir şey
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Sanırım istediğiniz böyle bir şey
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Hocam sağolun. Gördüğüm kadarıyla A16' da sütun A' nın sıralaması var. D1' de bizim verdiğimiz değerler, D16' da ise A16 referans alınarak yapılmış düzenleme. Bu haliyle sorunsuz görünüyor. F1' e de veri girdik, fakat onun sonucu herhalde, F16' da 5 rakamı neden eksik kalmış? Bir de sonuçlar A16 yerine başka tarafta olsa çok daha iyi olur. Çünkü sütun A' da diyelim 100 satır dolarsa, A16 orada sıkıntı yaratır.
 
f1 deki rakamlar d16 daki rakamları sıralayacaktı. f1 olan d16 da olmayanları silip d16 da kalanları yazacaktı. Aynen öyle yapıyor
 
Konu Sahibi
f1 deki rakamlar d16 daki rakamları sıralayacaktı. f1 olan d16 da olmayanları silip d16 da kalanları yazacaktı. Aynen öyle yapıyor
Tam tersi. F1' e rakamlar yazdık. A16' da, f1' de yer almayan tüm rakamları sileceğiz sadece. ama 5 rakamı yok listede. Yani siz D16' yı kullandınız, A16 kullanılacaktı.
 
Aynı şeyi söylüyoruz. D16 baz Alındığında f1 de yer almayan tüm rakamları sildik. D16 da kalanları yazdık orada 5 yok ki nasıl olacaksa manuel yapın eğer 5 i de eklerseniz işlem yapmaya bile gerek kalmaz hep aynı sonuç çıkar
 
Konu Sahibi
Aynı şeyi söylüyoruz. D16 baz Alındığında f1 de yer almayan tüm rakamları sildik. D16 da kalanları yazdık orada 5 yok ki nasıl olacaksa manuel yapın eğer 5 i de eklerseniz işlem yapmaya bile gerek kalmaz hep aynı sonuç çıkar
İşte D16 değil, A16 baz alınacak. orada bir karışıklık olmuş. Muhtemelen ben basit bir harf hatası yaptım galiba.
 
Kodu kopyalayın. Eskini silin ve aynı yere yapıştırın
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Merak ettim böyle bir işlemi nerede kullanacaksınız
 
Konu Sahibi
Kodu kopyalayın. Eskini silin ve aynı yere yapıştırın
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Hocam Allah razı olsun gecenin bu vaktinde yardımcı oldunuz, bu makro işi çözdü. Bundan da basit bir makro ricam daha olacaktı yarın, burada başlık açacağım yine ona da yardımcı olursanız çok sevinirim. Bu arada VetExc hocama da teşekkür ediyorum zaman ayırdı, formül ayarlamaya çalıştı.
 
Konu Sahibi
Merak ettim böyle bir işlemi nerede kullanacaksınız
Hocam stoktaki ürünleri kendimce numaralandırdım, kayıtlarda ne alındı ne çıktı dosyalarda ararken bulmak kolay olsun diye. Bir de sonucu A16' dan kaldırabilirsek makroda, dediğim gibi 100 satır olursa A16 orada arada kalacak.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst