Hayatimdegisti.com kişisel gelişim ritmotrans telkinli Cd'leri

Hayatimdegisti.com kişisel gelişim ritmotrans telkinli Cd'leri (http://www.hayatimdegisti.com/forum/index.php)
-   Hayat Soruları (http://www.hayatimdegisti.com/forum/hayat-sorulari/)
-   -   Excel'de Makro Kullanmadan Ters-Düz Etmek (http://www.hayatimdegisti.com/forum/hayat-sorulari/23941-excelde-makro-kullanmadan-ters-duz-etmek.html)

bluemoon24 29-12-2008 05:14 AM

Excel'de Makro Kullanmadan Ters-Düz Etmek
 
Aslında bu konu ortaya forumumuz üyesi Hasan Çetiner ile girdiğim bir iddia sonucu çıktı; Kendisi Atalan Makinede asistan mühendis olarak çalışırken ve işi gereği Excel CATIAya kanat profili koordinatları aktarırken Excelin basit bir işlemi yapamadığını, makro yazmak zorunda kaldığını söyledi. Hakikaten de ilginçtir ki, Excelde bir sütun rastgele düzenlenmiş (yani büyükten küçüğe ya da küçükten büyüğe değil) veriyi ters-düz etmek için ne bir komut, ne de bir fonksiyon var. Yani;





5





45





7





13





144





dizisini;





144





13





7





45





5





yapabilmek için makrolar kullanmak gerekiyor.



Ben makrosuz da bir yolu olabileceğini iddia ettim. O ise olamayacağını. Bir paket sigarasına girilen iddia kısa zamanda 3′e yükseldi.



Ve Sonuç:



Bunun makrosuz bir yolu daha var!



Maddi ve manevi destek olmak üzere yanımda bulunan Orhan Özgür Göktaş ile birlikte oturup biraz araştırma yaptık. Kendisinin de araştırma desteğiyle mevcut excel komutlarının bir algoritmasını yaratarak bu işin mümkün olduğunu gördüm… İşte Sırrı:



Alıntı: =OFFSET( {Dizinin Son Elemanının Sabitlenmiş Adresi} ; -1ROW(Dizinin İlk Elemanı) + ROW (Dizinin İlk Elemanının Sabitlenmiş Adresi) ; 0 )











Örneğin yukarıdaki diziyi A1′den başlayıp A5′e kadar dizmiş olsaydık:



Alıntı: =OFFSET($A$5;-1ROW(A1)+ROW($A$1);0)



Herhangi bir yere gidip bu komutu yazacaktık… Daha sonra yazdığımız formülü aşağıya doğru çekecektik.



Daha sonra matrisiniz ters düz oldu demektir… İşte bu kadar basit…



Örnek Dosya: Tersduz.xls



Tabi ki COLUMN komutunu kullanarak çeşitli varyasyonlarını da üretebilirsiniz. Örneğin aynısını bir satır veri için uygularsak:



Alıntı: =OFFSET( {Dizinin Son Elemanının Sabitlenmiş Adresi} ; 0 ; -1COLUMN(Dizinin İlk Elemanı) + COLUMN (Dizinin İlk Elemanının Sabitlenmiş Adresi) )



Yalnız dikkat;



Burada bir önceki komuttun sonunda kullandığımız sıfır, burada bir kademe başa alındı. Bu OFFSET komutunun yazım biçeminden (syntax) kaynaklanıyor. [Offset (Referans, Satır, Sütun) ]



Bunu çözerken önce anlamsız komutlarla matris dünyasına fazla giriş yaptık ve bu yüzden uykumdan 1 saat fedakarlık ettim. Zira, iddia sonucu üç paket sigara kazanmış olmam bu eksikliği giderdi



İlgilenenlere ya da ihtiyaç duyanlara duyurulur.


WEZ Format +3. Şuan Saat: 02:16 PM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.