İşlem sonucuna göre açıklama yazmak

Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Merhaba

a-b-c değerlerimiz arasındaki farkın 4,51den yüksek olması durumunda formül sonucu "limit dışı" formülünü nasıl yazabilirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Koşulun gerçekleşmesi için bu üç değerin herhangi ikisi arasındaki fark 4,51 den yüksek olması yeterli mi?

Eğer yeterli ise aşağıdaki formülü kullanabilirsiniz.

C++:
=IF(MAX(A1:C1)-MIN(A1:C1)>4,51;"Limit Dışı";"")
IF = EĞER
MAX = MAK
MIN = MİN
 
Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Merhaba Korhan Ayhan

Formül işimi gördü. Teşekkürler.
Koşul olarak -4,51 ile +4,51 aralığını nasıl sorgulamalıyım.
Ayrıca satır sayısı çok fazla olduğu için dosya boyutu şişti.
VBA ile yazmak dosya boyutunu iyileştirir mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosyanız hacimli ise makro kullanmak hız ve performans olarak avantaj sağlayacaktır.

20 satırlık örnek dosya paylaşırsanız kod düzenleyebiliriz.
 
Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Merhaba Dosyamız alttaki linkte. Buradan ekleyemedim.
Ben "A" sütünü için formül yazıp kilitledim. şifresi:123
Daha sonra koşullu biçimlendirme ile limit dışını renklendirdim.
Dosyadaki format SAP sistemi üzerinden alınıyor ve yapıştırılıyor.
Yeni veri yapıştırıldığında "a6"dan başlayan formül silinmemeli.
Ama makro olur ise performans sağlanabilir.

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz formülde Minimum değerden Maksimum değeri çıkarmışsınız. Bu durumda + değer çıkması mümkün görünmüyor.

Birde koşula uyan yani Limit Dışı olan değerlere ait satırlara açıklama yazdırsak olur mu? Yoksa bütün satırlara değerler hesaplansın mı?
 
Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Değer hesaplaması yeterli. Limit dışına gerek yok. Doğrusu dediğin gibi Max-Min olmalı.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Asıl verilerinizde çalıştırıp veri miktarını ve işlem süresini bildirirseniz sevinirim.

C++:
Option Explicit

Sub Hesapla()
    Dim WF As WorksheetFunction, Veri As Variant, Son As Long, Say As Long
    Dim Zaman As Double, Maksimum As Double, Minimum As Double, X As Long
    
    Zaman = Timer
    
    Set WF = WorksheetFunction
    
    Son = Cells(Rows.Count, 2).End(3).Row
    If Son <= 6 Then Son = 7
    
    Range("A6:A" & Rows.Count).ClearContents
    
    Veri = Range("B6:BE" & Son).Value
    
    ReDim Liste(1 To Son, 1 To 1)
    
    For X = LBound(Veri, 1) To UBound(Veri, 1)
        If Veri(X, 1) <> "" Then
            Maksimum = WF.Max(Veri(X, 27), Veri(X, 31), Veri(X, 35))
            Minimum = WF.Min(Veri(X, 27), Veri(X, 31), Veri(X, 35))
            Say = Say + 1
            Liste(Say, 1) = Maksimum - Minimum
        End If
    Next
    
    Set WF = Nothing
    
    If Say > 0 Then
        Range("A6").Resize(Say) = Liste
        MsgBox "Hesaplama işlemi tamamlanmıştır." & vbLf & vbLf & _
               "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
    Else
        MsgBox "Uygun veri bulunamadı!", vbExclamation
    End If
End Sub
 
Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Günaydın Korhan Ayhan

Teşekkürler. Kod çalıştı.
Hesaplama süresi 0,01sn
En güzeli formül nedeni ile 10mb olan dosya 60kb PC de kullanırken dosya çökmüyor.

Hesaplama 60.satıra kadar kod üzerindeki alttaki verileri mi güncellemem gerekli?
Maksimum = WF.Max(Veri(X, 27), Veri(X, 31), Veri(X, 35))
Minimum = WF.Min(Veri(X, 27), Veri(X, 31), Veri(X, 35))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Günaydın,

Koda küçük bir ekleme yaptım. #8 nolu mesajımda ki son halini deneyiniz.
 
Katılım
17 Nisan 2009
Mesajlar
30
Excel Vers. ve Dili
MS OFFİCE 365
Tamam şimdi sorun yok. veri olan tüm satırda hesaplama yaptı.
Teşekkürler. Yeni yılda sağlık ve esenlikler diliyorum.
 
Üst