Excel'de bir aralığın maksimum mutlak değerini bulmak için bir işlev var mı?


15

Excel'de şuna benzeyen bir işlev arıyorum

= MAX(ABS(A1:A10))

dışında ABS()bir sayı almaz.

Gelebileceğim en iyi şey:

= MAX(ABS(MIN(A1:A10)),ABS(MAX(A1:A10)))

Hile yapar, ama tüm halt gibi dağınık ve daha iyi bir yol olmadığına inanamıyorum. Herhangi bir fikir?

Yanıtlar:


23

Bir dizi formülü olarak girmelisiniz. Bunu, Ctrl+ Shift+ tuşlarına basarak yapın Enter. Formül {=MAX(ABS(A1:A10))}doğru yapılmış gibi görünecektir .


4
Kendim gibi uyuşuk kafataslarına dikkat edin: Formülü girin, sonra Ctrl + Shift + Enter tuşlarına basın, önce ctrl + shift + enter tuşlarına basmaya çalıştım, sonra gerçekten iyi çalışmayan formülü girin. : P
Ben

Matris formülleri söz konusu olduğunda Excel kullanıcı dostu değildir. Davranışları gerçekten sinir bozucu.
Pedro77

Dizi formülü kullanmak zorunlu değildir ( buna ve buna bakın . Dahası, rahatsız edici olabilir.
sancho.s Monica

3
Aralığınız sayısal olmayan veriler de içeriyorsa (örneğin, metin veya formül hataları) bu bir hata döndürür
CBRF23 15

22

Dizileri sevmiyorum, bu yüzden aşağıdakileri kullanırdım:

=MAX(-MIN(range), MAX(range))

Bu, minimum sayının mutlak değerinin, negatif bir sayı olması durumunda maksimum değerin yüksek olduğu tek zaman olduğu için çalışır.


Senin aralığı da sayısal olmayan veriler (örneğin metin veya formül hatalarını) içeriyorsa, bu eserleri
CBRF23

Güzel, bu excel eksik bir özellik, neden max (abs ()) değil ??
Pedro77

@ Şu anda + 5 yıl eski cevabınızın hala bir kitlesi var. :) Artı işlevini düşündüğünüzü belirttiğiniz dizi işlevini kullanmaktan kaçınan bir alternatif önerirsiniz. Dizi işlevlerini hala beğenmediniz mi? Dizi işlevlerini neden beğenmediğiniz (veya beğenmediğiniz) hakkında yorum yapabilir misiniz? Düşünceleriniz hakkında daha fazla bilgi sahibi olmak bana ve diğer okuyuculara hangi çözümü hangi bağlamda kullanmak istediğimizi değerlendirme konusunda yardımcı olabilir.
Paul van Leeuwen

Bu, OpenOffice
Wolfgang Fahl


1

Bu VBA çözümü de işe yarıyor.

Public Function absMax(values As Range)
    'returns the largest absolute value in a list of pos and neg numbers

    Dim myArray() As Double, i As Integer, numel As Integer
    numel = values.count
    ReDim myArray(1 To numel)
    For i = 1 To numel
        myArray(i) = Abs(values(i))
    Next i
    absMax = WorksheetFunction.Max(myArray)

End Function
  1. VBA düzenleyicinizi açın ( Alt+ F11)
  2. Sağ bölmeye yeni bir modül takın
  3. Kodu kopyalayıp modüle yapıştırın
  4. Excel'e geri dönün ve şunu kullanın: =absMax(A1:A3)

resim açıklamasını buraya girin


0
=IF(ABS(LARGE(A1:A10,1))>ABS(SMALL(A1:A10,1)),LARGE(A1:A10,1),SMALL(A1:A10,1))

Bu, aralık dışında en büyük mutlak değere sahip değeri bulur, ancak gerçek değeri mutlak değerle değil, orijinal işaretiyle (+/-) döndürür.


Bildiğiniz gibi (1), buna bir çözüm değil bu soruya. Farklı bir sorunun cevabı. Sorularına cevap vermeyi tercih ediyoruz. Bu cevabı gerçekten göndermek istiyorsanız, ilgili soruyu “sormak” ve ardından cevaplamak isteyebilirsiniz. ( Bunu yapmak için izin verilen Eğer düşük beri, ama itibar , sen kendi soruya cevap için önce birkaç saat beklemek gerekebilir.)
G-Man 'eski durumuna Monica' Diyor

(2) OP zaten soruya çalışan bir cevabı var ve bunu reddediyor çünkü “tüm halt gibi dağınık ve daha iyi bir yol olmadığına inanamıyorum.” Öyleyse neden sahip olduğu yanıtın iki katı uzunluğunda bir cevap gönderesiniz ki? Bu nedenle, neden sadece söylemiyorsun =IF(ABS(MAX(A1:A10))>ABS(MIN(A1:A10)),MAX(A1:A10),MIN(A1:A10))?
G-Man, 'Monica'yı Yeniden Başlat' diyor

@ G-Man Bu, şimdiye kadar yayınlanan, OP tarafından açıkça talep edilmeyen, ancak bana yardımcı olan orijinal işareti sağlam tutan tek formül çözümüdür. Her iki değerlendirmenize de saygıyla katılmıyorum.
Portland Runner

0

= MAX (MAX (X1: X5), ABS (min (X1: X5)))


Peki Julie'nin cevabından farkı nedir?
phuclv

Bu sorunun cevabıdır (gecikmiş, evet). Julie'ninkine benzer şekilde, evet, belki de biraz daha az verimli, ancak IMHO, e-tabloyu devralan biri için biraz daha açık.
xenoid

-1
=IF(MAX(A1:A10)+MIN(A1:A10)>0, MAX(A1:A10), MIN(A1:A10))

2
Bir açıklama içeren cevapları tercih ediyoruz.
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.