Birer Adet Azalarak Seri Oluşturma

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

Kısa Açıklama

Birer Adet Azalarak Seri Oluşturma isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Birer Adet Azalarak Seri Oluşturma isimli sorumuzda, azalta azalta beş ayrı serinin nasıl oluşturulacağının cevabı aranmaktadır.

997.webp


1 - 2 - 3 - 4 - 5 sayılarından başlangıçta azaltma olmadan 1 - 2 - 3 - 4 - 5 ve sonrasında her defasında birer adet azaltarak (bir önceki serinin ilk sayısını eleyerek) resimdeki gibi seri oluşturacağız.

Yani;
İlk aşamada 1 - 2 - 3 - 4 - 5
2. aşamada 2 - 3 - 4 - 5
3. aşamada 3 - 4 - 5
3. aşamada 4 - 5
Son aşamada 5

Bu seriyi oluşturabilmek için nasıl bir Formül / KTF / Kod kullanmalıyız.

Katılımlarınızı beklerim

Not : Dosya eklemenin gerekmediğini düşünüyorum.
 
Merhabalar, Bence asıl çözüm reduce-sıralı-bırak işlevleri ile olmalı ama reduce ile yapamadım o yüzden benim de çözümüm şöyle :)

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)

Dinamik hali de şöyle;

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
@admin
Hocam benim çözüm uzun ve biraz manuel..
Daha kısa nasıl olur halini merak ediyorum.
Bence çok güzel çözüm. Çok Teşekkür ediyorum.

Daha kısa mı olur bilemem ama,

SIRALI(5);SIRALI(4;;2)
şeklinde giden serinin, y değişkeniyle yazılmasını SIRALI(5-y;;y+1) şeklinde yaparsak ve y değişkenini de 0 dan başlatırsak
REDUCE işleviyle şöyle yapılabilir.

=BIRAK(REDUCE(0;SIRALI(5;;0);LAMBDA(x;y;DÜŞEYYIĞ(x;SIRALI(5-y;;y+1))));1)

@Mehmet
Bu güzel çözüm için çok teşekkürler....

Bence asıl çözüm reduce-sıralı-bırak işlevleri ile olmalı

REDUCE işleviyle belki şöyle yapılabilir.

=LET(a;SIRALI(5);BIRAK(REDUCE(0;a-1;LAMBDA(x;y;DÜŞEYYIĞ(x;BIRAK(a;y))));1))
 
Çözüm
Sn. @52779 Reduce işlevi ile çözümünüz ve açıklamalarınız için çok teşekkür ederim.. Sn. @admin in yatayyığ-sıralı çözümünü de sıralı işlevini lambdaya tanımlayarak şöyle bir alternatif de oluşturayım istedim.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
KTF alternatifi de benden olsun.
Kodu, belgenizde boş/uygun bir MODUL içerisine yapıştırın.

İlk hücreye =AZALAN_SERI(5) şeklinde formül uygulanması yeterlidir.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(5 satır)
 
@kmlzdmr
Ya A1 hücresine hedef sayıyı (5) yazıp formülün aşağıdaki halini,
ya da formüldeki $A$1 gördüğünüz kısımların 5 olarak değiştirilmiş halini
B2 hücresine uygulayıp boş sonuç alıncaya kadar aşağı doğru kopyalayın.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
@52779 güzel bir soru olmuş. Teşekkür ederiz. Excel 365 Harici bir çözüm varmıdır?
Çok teşekkür ediyorum.
@Ömer BARAN Bey cevapladığı için kendilerine Teşekkürler....

Ben de, #6 mesajda vermiş olduğum formülü, Excel2010 ve üzeri versiyonlar için yazarsam,
#6 mesajda vermiş olduğum formül aşağıdaki gibidir..
=LET(a;(SIRALI(5)<=SIRALI(;5))*SIRALI(5;5);MOD(SÜTUNA(a/(a>0);3)-1;5)+1)

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)

Burada
{0\1\2\3\4} : 0 dan 4 e kadar Satır No (\ işareti satırlar) yani SATIR($1:$5)-1
{1;2;3;4;5} : 1 den 5 e kadar Sütun No (; işareti sütunlar) yani SÜTUN($A$1:$E$1)
ifade etmektedir.

Eğer bu diziler yerine SATIR ve SÜTUN olarak yazarsak formül aşağıdaki şekildeki gibi olacaktır.
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst