Skip to main content

Kutools for Office — Bir Paket. Beş Araç. Daha Fazla İş Yapın.

Excel'de ilk / son pozitif / negatif sayıyı nasıl bulabilirim?

Author Xiaoyang Last modified

Hem pozitif hem de negatif değerler içeren bir sayı sütunuyla çalışırken, genellikle aralıktaki ilk veya son pozitif veya negatif sayıyı hızlıca bulmanız gerekebilir. Bu, özellikle veri analizi, trend tespiti veya büyük veri setlerinde belirli giriş noktalarını belirleme için faydalı olabilir. Büyük veri setleri için manuel incelemeye dayanmak verimsizdir ve hata yapmaya açıktır. Neyse ki, Excel bu görevi kolaylaştırmak için birkaç pratik yöntem sunar, formüller veya otomasyonlarla ihtiyacınız olan kesin değerleri çıkarmanıza olanak tanır. Aşağıda, tekrarlanan veya büyük ölçekli işlemler için ideal olan gelişmiş yaklaşımlar da dahil olmak üzere farklı senaryolar için uygun birden fazla çözüm bulacaksınız.

Dizi formülü ile ilk pozitif / negatif sayıyı bulma

Dizi formülü ile son pozitif / negatif sayıyı bulma

İlk / son pozitif / negatif sayıyı bulmak için VBA makrosu


arrow blue right bubble Dizi formülü ile ilk pozitif / negatif sayıyı bulma

Bir dizi değerden ilk pozitif veya negatif sayıyı çıkarmak için Excel'in dizi formüllerini kullanabilirsiniz. Bu yöntem, ek eklentiler veya makroların kısıtlandığı ortamlarda formüllere hakim olan ve orta büyüklükteki veri aralıkları için hızlı bir çözüm arayan kullanıcılar için uygundur. Dizi yaklaşımı, kaynak verileriniz değişirse otomatik olarak güncellenir, bu da onu dinamik listeler için oldukça uygun hale getirir. İşte bunu nasıl uygulayabileceğiniz:

1. Boş bir hücre seçin ve aşağıdaki dizi formülünü girerek ilk pozitif sayıyı elde edin:

=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))

Burada A2:A18, arama yapmak istediğiniz veri listesine karşılık gelir. Bu formül, 0'dan büyük bir değere sahip olan aralıktaki ilk hücreyi bulur ve ardından o hücrenin içeriğini döndürür. Aşağıdaki ekran görüntüsüne bakın:

A screenshot showing a dataset to find the first positive number in Excel

2. Formülü yazdıktan sonra Enter tuşuna basmak yerine Ctrl + Shift + Enter tuşlarına aynı anda basın. Bu, dizi formülünü doğru bir şekilde çalıştırır ve listenizden ilk pozitif sayıyı aşağıdaki örnekte gösterildiği gibi döndürür:

A screenshot showing the result of the first positive number using an array formula in Excel

İpucu: İlk negatif sayıyı almak için şu formülü kullanın (yazdıktan sonra Ctrl + Shift + Enter tuşlarına basmayı unutmayın):

=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))

Her iki formülde de koşulu değiştirerek (>0 pozitif, <0 negatif) hedeflediğiniz sayı türünü elde edebilirsiniz. Lütfen dizi formüllerinin boş hücre referanslarını desteklemediğini unutmayın, bu nedenle tutarlı sonuçlar için veri aralığınızın boş hücreler içermediğinden emin olun. Tüm sayılar ya pozitif ya da negatif ise formül bir hata verebilir—hataları bastırmak ve özel bir mesaj görüntülemek istiyorsanız IFERROR fonksiyonunu eklemeyi düşünün.

Not: Excel'in son sürümlerinde (Office 365 ve Excel 2021 ve sonrası), dinamik diziler desteği nedeniyle Ctrl + Shift + Enter kullanmanıza gerek olmayabilir; yalnızca Enter tuşuna basmak yeterli olabilir.


arrow blue right bubbleDizi formülü ile son pozitif / negatif sayıyı bulma

Amacınız bir sütundaki son pozitif veya negatif değeri belirlemekse, farklı bir dizi formülü kullanabilirsiniz. Bu yaklaşım, bitiş eğilimlerini hızlıca analiz etmek veya belirli bir türden en son veri noktasını bulmak için uygundur. Bu yöntemin veri güncellemelerini dinamik olarak yansıttığını unutmayın, bu özellikle listeye düzenli olarak yeni sayılar eklediğinizde değerlidir.

1. Veri sütununuzun yanındaki boş bir hücre seçin ve aşağıdaki dizi formülünü girerek son pozitif sayıyı bulun:

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18))

Bu formül, LOOKUP'un çok büyük bir sayı için bulunan son sayısal eşleşmeyi döndürme davranışından yararlanır. Burada IF($A$2:$A$18 >0, $A$2:$A$18) yalnızca pozitif sayıları filtreler ve LOOKUP daha sonra son oluşumu döndürür. Bunu aşağıda görebilirsiniz:

A screenshot showing the array formula for finding the last positive number in Excel

2. Formülü onaylamak için Ctrl + Shift + Enter tuşlarına basın (Excel sürümünüz dinamik dizileri destekliyorsa gerekli olmayabilir). Sonuç, aşağıdaki gibi belirtilen aralıktaki son pozitif değeri gösterecektir:

A screenshot showing the result of the last positive number using an array formula in Excel

Son negatif sayıyı döndürmek için, aşağıdaki dizi formülünü de Ctrl + Shift + Enter ile kullanın:

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18))

Hiçbir pozitif veya negatif değer bulunamazsa, formül bir hata (#YOK) döndürür. Bu tür durumlarla zarif bir şekilde başa çıkmak için formülü IFERROR ile sarın. Örneğin:

=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found")

Formülün hesaplama sonuçlarını bozabileceği için aralığınızda birleştirilmiş hücreler veya birleştirilmiş metin/sayı formatlarından kaçının. Bu yöntemleri kullanmadan önce veri bütünlüğünü her zaman doğrulayın.


arrow blue right bubbleİlk / son pozitif / negatif sayıyı bulmak için VBA makrosu

Eğer birden fazla aralıkta veya çok büyük veri setlerinde ilk veya son pozitif/negatif sayıyı bulma ihtiyacı sıkça duyuyorsanız, bu görevi bir VBA makrosu ile otomatikleştirmek önemli ölçüde zaman kazandırabilir ve elle yapılan hataları azaltabilir. Bu çözüm, seçilen bir aralığı tarayıp gerekli değeri anında almanızı sağlar, bu da toplu işlem veya tekrarlayan analitik görevler için idealdir. VBA yaklaşımı, özellikle karmaşık kriterler veya özelleştirilmiş iş akışları gerektiren senaryolarda faydalıdır, ancak Excel’in Geliştirici araçlarına temel düzeyde aşina olmayı gerektirir.

1. Geliştirici > Visual Basic'e tıklayarak Microsoft Visual Basic for Applications penceresini açın. Ardından, VBA düzenleyicisinde Ekle > Modül'e tıklayın ve aşağıdaki kodu yeni modüle kopyalayın:

Sub FindFirstOrLastPosNegNumber()
    Dim rng As Range
    Dim cell As Range
    Dim result As Variant
    Dim firstPos As Variant, firstNeg As Variant
    Dim lastPos As Variant, lastNeg As Variant
    Dim selType As String
    
    On Error Resume Next
    Set rng = Application.InputBox("Select the data range", "KutoolsforExcel", Selection.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    selType = Application.InputBox("Type 'FirstPos' for first positive, 'FirstNeg' for first negative, 'LastPos' for last positive, or 'LastNeg' for last negative:", "KutoolsforExcel", "FirstPos", Type:=2)
    
    If selType = "" Then Exit Sub
    
    firstPos = Empty
    firstNeg = Empty
    lastPos = Empty
    lastNeg = Empty
    
    ' Find first positive and first negative
    For Each cell In rng
        If IsNumeric(cell.Value) Then
            If firstPos = Empty And cell.Value > 0 Then
                firstPos = cell.Value
            End If
            If firstNeg = Empty And cell.Value < 0 Then
                firstNeg = cell.Value
            End If
            If cell.Value > 0 Then
                lastPos = cell.Value
            End If
            If cell.Value < 0 Then
                lastNeg = cell.Value
            End If
        End If
    Next cell
    
    Select Case UCase(selType)
        Case "FIRSTPOS"
            result = firstPos
        Case "FIRSTNEG"
            result = firstNeg
        Case "LASTPOS"
            result = lastPos
        Case "LASTNEG"
            result = lastNeg
        Case Else
            result = "Invalid input"
    End Select
    
    If IsEmpty(result) Then
        MsgBox "No matching value found in the selected range.", vbInformation, "KutoolsforExcel"
    Else
        MsgBox "Result: " & result, vbInformation, "KutoolsforExcel"
    End If
End Sub

2Makroyu çalıştırmak için F5 tuşuna basın (veya Run button Çalıştır düğmesine tıklayın) ve aşağıdaki adımları izleyin:

  • Bir iletişim kutusu, sayı aralığınızı seçmenizi isteyecektir (örneğin, A2:A18).
  • Ardından, arama türünüzü girin: İlk pozitif sayı için FirstPos, ilk negatif sayı için FirstNeg, son pozitif sayı için LastPos veya son negatif sayı için LastNeg yazın (büyük/küçük harf duyarlı değildir).
  • Seçiminizi yaptıktan ve onayladıktan sonra, sonuç bir ileti kutusunda gösterilecektir.

İpuçları:

  • Bu makro, kullanıcı tarafından seçilen herhangi bir bitişik sayı aralığıyla çalışabilir, bu da veri düzeninde esneklik sağlar.
  • Belirtilen tür, aralıktaki hiçbir sayı ile eşleşmiyorsa, bir hata yerine bildirim alırsınız.
  • VBA kodunun çalışması için Excel’de makroların etkin olduğundan emin olun.
  • Verileriniz sayısal olmayan değerler içeriyorsa, makro bunları işleme sırasında göz ardı edecektir.

 

Sorun giderme ve öneriler: Tüm çözümler için, seçiminizin amaçlanan aralığı içerdiğini ve başlıkları içermemesini her zaman doğrulayın. Büyük aralıklar kullanıyorsanız, özellikle dizi formülleri veya makrolar kullandığınızda hesaplama veya performans gecikmelerini önlemek için boyutu sınırlamayı düşünün.

Eğer bu görevi sık sık yapıyorsanız veya daha fazla özelleştirme istiyorsanız, makronuzda birden fazla kriteri birleştirmeyi veya daha kolay erişim için özel bir düğme oluşturmayı düşünebilirsiniz. Yeni VBA betiklerini denemeden önce her zaman çalışmanızı kaydedin ve programlamaya yeniyseniz yedek kopyalarda test edin.


İlgili makaleler:

Excel'de X'ten büyük ilk / son değeri nasıl bulabilirim?

Excel'de bir satırdaki en yüksek değeri ve sütun başlığını nasıl bulup döndürebilirim?

Excel'de en yüksek değeri ve bitişik hücre değerini nasıl bulabilirim?

Excel'de kritere göre maksimum veya minimum değeri nasıl bulabilirim?

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın – Akıllı Yürütme | Kod Oluştur | Özel Formüller Oluştur | Verileri Analiz Et ve Grafikler Oluştur | Kutools Fonksiyonlarını Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle | Boş Satırları Sil | Sütunları veya Hücreleri Veriyi Kaybetmeden Birleştir | Formül olmadan Yuvarla...
Süper ARA: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur | Bağımlı Açılır Liste | Çoklu seçimli Açılır Liste....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle | Sütunları Taşı | Gizli Sütunların Görünürlük Durumunu Değiştir | Aralıkları & Sütunları Karşılaştır...
Öne Çıkan Özellikler: Izgara Odaklama | Tasarım Görünümü | Gelişmiş formül çubuğu | Çalışma Kitabı & Çalışma Sayfası Yöneticisi | Otomatik Metin Kütüphanesi | Tarih Seçici | Veri Birleştir | Hücreleri Şifrele/Şifre Çöz | Listeye Göre E-posta Gönder | Süper Filtre | Özel Filtre (kalın/italik/üstü çizili filtreleme...)...
En İyi15 Araç Takımı:12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...) | 50+ Grafik Türü (Gantt Grafiği, ...) | 40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...) | 19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...) | 12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...) | 7 Birleştirme & Bölme Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...) | ... ve dahası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40+ diğer dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
  • Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!

Tüm Kutools eklentileri. Tek kurulum

Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.

Excel Word Outlook Tabs PowerPoint
  • Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
  • Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
  • 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
  • En iyi değer — tek tek eklenti almak yerine tasarruf edin