KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel’de ilk veya son pozitif ya da negatif sayıyı nasıl bulabilirim?

YazarXiaoyang Değiştirme Tarihi

Hem pozitif hem de negatif değerler içeren bir sütunla çalışırken, aralıktaki ilk veya son pozitif ya da negatif sayıyı hızlıca belirlemeniz gerekebilir. Bu, özellikle veri analizi, trend tespiti veya büyük veri kümelerinde belirli giriş noktalarını tanımlama açısından son derece yararlıdır. Büyük veri kümelerinde manuel inceleme hem güvenilmez hem de verimsizdir. Neyse ki Excel, bu süreci kolaylaştırmak için birkaç pratik yöntem sunar; böylece formüller veya otomasyon yardımıyla ihtiyacınız olan tam değerleri doğrudan elde edebilirsiniz. Aşağıda, farklı senaryolara uygun çoklu çözüm seçeneği bulacaksınız; bunlar arasında tekrarlı veya büyük ölçekli işlemler için ideal olan gelişmiş yaklaşımlar da yer almaktadır.

Dizi formülüyle ilk pozitif / negatif sayıyı bulun

Dizi formülüyle son pozitif / negatif sayıyı bulun

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


mavi sağ ok baloncuğu Dizi formülüyle ilk pozitif / negatif sayıyı bulun

Excel’in dizi formüllerini kullanarak bir değer serisindeki ilk pozitif ya da negatif sayıyı kolayca çıkarabilirsiniz. Bu yöntem, ek eklentilerin veya makroların kullanılamadığı ortamlarda, yalnızca formüllerle çalışan ve orta düzeyde karmaşıklıkta hızlı bir çözüm arayan kullanıcılar için idealdir. Dizi yaklaşımı, kaynak veri değiştiğinde otomatik olarak güncellenir; böylece dinamik listelerle çalışırken büyük kolaylık sağlar. Uygulama yöntemi şu şekildedir:

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

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

Burada, A2:A18 arama yapmak istediğiniz veri listesini temsil eder. Bu formül, 0’dan büyük olan ilk hücreyi aralıktan bulur ve içeriğini döndürür. Aşağıdaki ekran görüntüsüne göz atın:

Excel'de ilk pozitif sayıyı bulmak için bir veri kümesini gösteren ekran görüntüsü

2. Formülü yazdıktan sonra, yalnızca Enter tuşuna basmak yerine Ctrl + Shift + Enter tuşlarına aynı anda basın. Böylece dizi formülü doğru şekilde çalıştırılır ve listenizden ilk pozitif sayı örnekteki gibi döndürülür:

Excel'de bir dizi formülü kullanılarak ilk pozitif sayının sonucunu gösteren ekran görüntüsü

İpucu:İlk negatif sayıyı almak için bunun yerine aşağıdaki formülü kullanın (yazdıktan sonra)Ctrl + Shift + Entertuşlarına bastığınızı unutmayın):

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

Her iki formülde de koşulu değiştirmek ()>0 pozitif sayılar için, <0 negatif sayılar için) istediğiniz sayı türünü hedeflemenizi sağlar. Dizi formüllerinin boş hücre referanslarını desteklemediğini unutmayın; bu nedenle tutarlı sonuçlar almak için Veri Aralığı’nın boş hücre içermemesine dikkat edin. Tüm sayılar yalnızca pozitif veya yalnızca negatifse formül bir hata döndürebilir—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ı), Ctrl + Shift + Enter kullanmanız gerekmiyor olabilir; dinamik dizi desteği sayesinde yalnızca Enter tuşuna basmak yeterli olabilir.


mavi sağ ok baloncuğu Dizi formülüyle son pozitif / negatif sayıyı bulun

Amacınız bir sütundaki son pozitif veya negatif değeri belirlemekse, farklı bir dizi formülü kullanabilirsiniz. Bu yaklaşım, bitiş trendlerini hızlıca analiz etmek ya da “Tür Belirtin” alanının en güncel veri noktasını bulmak için idealdir. Unutmayın, bu yöntem veri güncellemelerini dinamik olarak yansıtır; özellikle listeye düzenli olarak yeni sayılar eklediğinizde büyük değer sağlar.

1. Son pozitif sayıyı bulmak için veri sütununuzun hemen yanındaki boş bir hücreyi seçin ve aşağıdaki dizi formülünü girin:

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

Bu formül, aşırı büyük bir sayı için son sayısal eşleşmeyi döndürme davranışıyla LOOKUP fonksiyonundan yararlanır. Burada IF($A$2:$A$18 >0, $A$2:$A$18) yalnızca pozitif sayıları filtreler ve LOOKUP ardından son oluşumu döndürür. Aşağıda görsel olarak gösterilmiştir:

Excel'de son pozitif sayıyı bulmak için dizi formülünü gösteren ekran görüntüsü

2. Formülü onaylamak için Ctrl + Shift + Enter tuşlarına basın (Excel sürümünüz dinamik dizileri desteklemiyorsa). Sonuç, aşağıdaki örnekte gösterildiği gibi Sınırlı aralıkta yer alan son pozitif değeri gösterecektir:

Excel'de bir dizi formülü kullanılarak son pozitif sayının sonucunu gösteren ekran görüntüsü

Son negatif sayıyı döndürmek için, bunun yerine aşağıdaki dizi formülünü kullanın ve yine Ctrl + Shift + Entertuşlarına basın:

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

Hiç pozitif ya da negatif değer bulunamazsa, formül bir hata döndürür ()#N/A). Bu tür durumları sorunsuz yönetmek için formülü IFERROR içine alın. Örneğin:

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

Aralığınızda birleştirilmiş hücreler veya metin/sayı karışık biçimler bulunmamasına dikkat edin; çünkü bunlar formülün hesaplama sonuçlarını bozabilir. En iyi doğruluk için bu yöntemleri kullanmadan önce veri bütünlüğünüzü her zaman kontrol edin.


mavi sağ ok baloncuğu İlk / son pozitif / negatif sayıyı bulmak için VBA makrosu

Birden fazla aralıkta veya çok büyük veri kümelerinde sık sık ilk ya da son pozitif/negatif sayıyı bulmanız gerekiyorsa, bu işlemi bir VBA makrosuyla otomatikleştirmek önemli ölçüde zaman kazandırır ve manuel hataları en aza indirir. Bu çözüm, istediğiniz bir aralığı seçmenizi sağlar ve anında ilgili değeri getirir; bu da toplu işlemler veya tekrarlı analitik görevler için idealdir. VBA yaklaşımı, karmaşık kriterler veya özelleştirilmiş iş akışları gerektiğinde özellikle faydalıdır; ancak temel düzeyde Excel’in Geliştirici araçlarına aşinalık gerektirir.

1. Geliştirici > Visual Basic seçeneğine tıklayarak Microsoft Visual Basic for Applications penceresini açın. Ardından VBA düzenleyicide Ekle > Modül seçeneğine 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

2. Makroyu çalıştırmak için F5tuşuna basın (veya)Çalıştır düğmesi Ç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ü girin: FirstPos ilk pozitif sayı için, FirstNeg ilk negatif sayı için, LastPos son pozitif sayı için veya LastNeg son negatif sayı için (büyük/küçük harf duyarlı değildir).
  • Seçiminizi girdikten ve onayladıktan sonra sonuç, bir ileti kutusunda görüntülenecektir.

İpuçları:

  • Bu makro, kullanıcı tarafından seçilen herhangi bir bitişik sayı aralığını işleyebilir; böylece veri düzeninde esneklik sunar.
  • Belirtilen tür, aralıktaki hiçbir sayı ile eşleşmezse, bir hata almak yerine bir bildirim alırsınız.
  • VBA kodunun sorunsuz çalışması için Excel’de makroların etkin olduğundan emin olun.
  • Verileriniz sayısal olmayan değerler içeriyorsa, makro bu değerleri işleme sırasında görmezden gelir.

 

Sorun Giderme ve Öneriler: Tüm çözümler için, seçiminizin hedeflenen aralığı içerdiğinden ve başlıkları kapsamadığından her zaman emin olun. Özellikle dizi formülleri veya makrolar kullanırken büyük aralıklardan kaynaklanan hesaplama ya da performans gecikmelerini önlemek adına aralık boyutunu sınırlandırmayı düşünün.

Bu görevi sık sık yapıyorsanız veya daha fazla özelleştirme istiyorsanız, makronuza birden fazla kriteri birleştirme veya daha kolay erişim için özel bir düğme oluşturma özelliğini eklemeyi düşünün. Yeni VBA betiklerini denemeden önce her zaman çalışmalarınızı kaydedin; programlamaya yeni başladıysanız, testleri yedek kopyalarınız üzerinde gerçekleştirin.


İlgili makaleler:

Excel’de X’ten büyük olan ilk veya son değeri nasıl bulabilirim?

Excel’de bir satırdaki en yüksek değeri ve ilgili sütun başlığını nasıl bulabilirim?

Excel’de en yüksek değeri bulduktan sonra bitişik hücrenin değerini nasıl döndürebilirim?

Excel’de belirli kriterlere göre maksimum veya minimum değeri nasıl bulabilirim?

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca 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 Aç/Kapat|Aralıkları ve 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ı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar