Excel Asal Sayı Hesaplama

Excel'de Bir Sayının Asal Sayı olup olmadığını kontrol etme













Bir önceki konumuzda Excel’de koşullu toplama nasıl yapılır onu öğrenmiştik. Bunun yanında çeşitli koşul örnekleri üzerinde durmuş, bir dizide yer alan tek sayıların ya da çift sayıların nasıl toplanacağını öğrenmiştik. Bu sayfada ise asal sayıların nasıl koşullu olarak toplanacağını göreceğiz. 

Konumuza öncelikle asal sayıları tanıyarak başlayalım.

?  Asal Sayı Nedir?


Sadece kendisine ve 1’e bölünebilen doğal sayılara asal sayı denir.

?    Asal Sayıların Tespiti Excel’de Nasıl Yapılır?


Excel’de asal sayı tespiti yapmanın çeşitli yolları olmakla birlikte direkt bir formül bulunmamaktadır. Bu nedenle, asal sayıları tespit edebilmek için birkaç formülü birleştirmemiz gerekecektir. Değişik yollarla birbirinden farklı asal sayı bulma formülleri geliştirebilirsiniz. 

Aşağıda bu formüllerden sadece bir tanesi yer almaktadır. Bunun gibi başka formüllerle de asal sayıları tespit etmek mümkündür.

Aşağıda asal sayı tespiti yapmak için kullanacağımız formülün hem İngilizce hem de Türkçe yazımları bulunmaktadır.


=IF(C1=2,“prime",IF(AND((MOD(C1,ROW(INDIRECT("2:"&C1-1)))<>0)),"prime","not prime")


=EĞER(C1=2;”ASAL”;EĞER(VE(MOD(C1,SATIR(DOLAYLI(“2:”&C1-1)))<>0));”ASAL”;”ASAL DEĞİLDİR”)


Yaptığımız işlem sayıları “kendinden ve 1’den” hariç tüm sayılara bölerek asal olup olmadığını test etmek. Bu da zaten yukarıda belirttiğimiz asal sayı tanımımızla da uyumlu ve oldukça pratik.

Yukarıdaki Asal Sayı Formülü Nasıl Çalışıyor?


Şimdi basit bir örnek ile formüllerin anlamlarına ve nasıl kullanıldıklarına bakalım. Bakmaya en içteki formülden başlıyoruz.

Örnek-1 4 sayısının Asal Sayı olup olmadığını Test Edeceğiz.


C1=4,

Formülde yer alan “C1” ifadesi dikkatinizi çekmiştir, burada C1 olarak belirtilen hücre; bizim asal sayı olup olmadığını anlamaya çalıştığımız sayının bulunduğu hücre olacaktır.

4 Sayısının aslında asal sayı olmadığını biliyoruz. Ancak buradaki asıl amacımız formülümüzün çalışıp çalışmadığını denemek ve nasıl çalıştığını anlamak.

İçten dışa doğru gelelim.

1.    SATIR(DOLAYLI(“2:” & C1-1))


Dolaylı fonksiyonunu Satır fonksiyonundan ayırmadan açıklayacağız. Dolaylı fonksiyonu bir hücrenin değerini döndürmeye yaramaktadır. SATIR(DOLAYLI(“2:” & C1-1) gösterimi SATIR(DOLAYLI(“2:3”)’ye o da SATIR(2:3)’ye eşit olacaktır.

          Peki, SATIR(2:3) ifadesi neye eşittir?

·   SATIR(2:3) ifadesinin karşılığı olan anlam en basit haliyle; {2,3} sayılarını al demektir.

·       İfademiz eğer SATIR(2:5) olsaydı; {2,3,4,5} ’i al olurdu.

·       SATIR(2:10) olsaydı da {2 den 10} a kadar sayıları aldığımız anlamı çıkacaktı.

NOT: SATIR(1:3) olsaydı {1,2,3} alacaktık ancak biz sayımızı 1’e bölmek istemediğimiz için mavi kısma 2 yazıyoruz ve bölme işlemini 2’den başlatıyoruz. Çünkü tüm sayılar 1’e bölünebildiği için sayılarımızı 1’e bölerek asal olup olmadığını anlayamayız.

2.    MOD(C1, SATIR(2:3)) <> 0


MOD formülü istediğimiz bir sayının yine belirlediğimiz bir sayıya bölümünden kalanı veren formüldür.

Örneğin; MOD(5,4)= 1 iken MOD(5,3)= 2 sonucunu verecektir. MOD(5,5), 5 in 5 e bölümünde kalan olmayacağı için 0 a eşit olacaktır.
Şimdi tekrar örneğimize dönüyoruz.

C1=4 e eşitlemiştik,

{=EĞER(VE(MOD(4,(2:3))<>0)} 

Bu formül bir dizi formülüdür ve CTRL +SHIFT + ENTER ile çalıştırılmalıdır. Çünkü tek bir işlem yapmak istemiyoruz bir dizi işlemin aynı anda yapılmasını istiyoruz.

Nedir bu işlemler?

·       MOD(4,2) = 0
·       MOD(4,3) = 1

Excel, hem MOD(4,2) hem de MOD(4,3)’ün ikisinin birden aynı anda hesaplasın istiyoruz. Özetle tek tuşa basarak iki adet işlem yapmak istiyoruz.

3.    Şimdi bu formüldeki VE’nin ne işe yaradığına bakalım.

MOD(4,2) ve MOD(4,3) <>0 olmalı ki sayı asal olabilsin. Bir sayının asal olabilmesi için kendinden başka hiçbir sayıya bölünememesi gerekmektedir. Dolayısıyla VE formülü sarı ile işaretli ve ile aynıdır ve iki koşulu da kontrol etmeye yarar. İki koşulunda aynı anda çalışmasını ve ikisinin de 0’ a eşit olup olmadığını kontrol eder.

·       MOD(4,2) = 0 = 0
·       MOD(4,3) = 1 <> 0

MOD(4,3) 0’a eşit olmayarak formülü sağlamasına rağmen MOD(4.2) 0’a eşittir ve sayının asal olmasını engellemiştir.

Örnek-2 “11” sayısının Asal Sayı olup olmadığını Test Edeceğiz.


Şimdi de formülümüzü asal olduğunu bildiğimiz 11 sayısının üzerinde nasıl çalıştığına bakalım.

Formülümüzü hatırlayalım.

=EĞER(C1=2;”ASAL”;EĞER(VE(MOD(C1;SATIR(DOLAYLI(“2:”&C1-1)))<>0);”ASAL”;”ASAL DEĞİLDİR”))

C1=11 eşitliği ile formüle başlıyoruz.

SATIR(DOLAYLI(“2:” & 11-1) = SATIR(2:10)

VE(MOD(11,SATIR(2:10))<>0 = Bu formülde de 11’i {2,3,4,5,6,7,8,9,10}’a böl ve hepsinin 0’ a eşit olup olmadığına bak, hepsi birden 0’a eşit değilse ASAL Sayıdır ifadesini ver diyoruz.

Formülümüzün çalışması için CTRL+SHIFT+ENTER yapmayı unutmuyoruz. Çünkü tek bir işlem yapmak istemiyoruz bir dizi işlemin aynı anda yapılmasını istiyoruz. Sadece ENTER’ a basarsanız hata değeri alırsınız.

Nedir bu işlemler?

MOD(11,2)=1
MOD(11,3)=2
MOD(11,4)=3
MOD(11,5)=1
MOD(11,6)=5
MOD(11,7)=4
MOD(11,8)=3
MOD(11,9)=2
MOD(11,10)=1

Fonksiyonlarını aynı anda çalıştırıp, 0’a eşit olup olmadıklarını aynı anda kontrol etmek istiyoruz. Bunun için CTRL+SHIFT+ENTER tuşlarına aynı anda basarak formülümüzü çalıştırıyoruz.

Yukarıda da gördüğümüz gibi hiçbir eşitlik “0” değildir. Dolayısıyla sayımız ASAL sayıdır.

Yukarıda gördüğümüz formüller Excel’in çok da sık kullanılan formüllerinden değildir, bu nedenle bu formüllerin tek başlarına nasıl kullanıldıklarına aşina olmayabilirsiniz. Aşağıdaki linklere tıklayarak her bir formül için daha detaylı bilgi sahibi olabilirsiniz.

>>MOD Formülü<<
>>DOLAYLI formülü<<
>>SATIR formülü<<

1 yorum:

  1. MOD(11,2) deki virgül yerine noktalı virgül yazılmalıdır.
    Yoksa formül çalışmıyor: MOD(11;2)

    YanıtlaSil