Excel formülü: 2B dizideki değerin konumunu öğrenin -

İçindekiler

Genel formül

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1

Özet

Bir 2B dizideki bir değerin konumunu bulmak için SUMPRODUCT işlevini kullanabilirsiniz. Gösterilen örnekte, dizideki maksimum değerin satır ve sütun numaralarını bulmak için kullanılan formüller şunlardır:

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1 =SUMPRODUCT((data=MAX(data))*COLUMN(data))-COLUMN(data)+1

burada "veri" adlandırılmış aralık C5: G14'tür.

Not: Bu örnek için, verideki maksimum değerin konumunu keyfi olarak buluyoruz, ancak veri = MAX (veri) 'yi belirli bir değeri izole edecek başka herhangi bir mantıksal test ile değiştirebilirsiniz. Ayrıca dizide yinelenen değerler varsa bu formüllerin başarısız olacağını unutmayın.

Açıklama

Satır numarasını elde etmek için veriler, TRUE FALSE sonuçlarından oluşan bir dizi oluşturan maksimum değerle karşılaştırılır. Bunlar, "veri" adı verilen aralıkla ilişkili satır numaralarını oluşturan ve dizisi oluşturan SATIR (veri) sonucuyla çarpılır:

=SUMPRODUCT((FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,TRUE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE)*(5;6;7;8;9;10;11))

Çarpma işlemi Excel'in ilk dizideki DOĞRU YANLIŞ değerlerini 1'ler ve 0'lara zorlamasına neden olur, böylece aşağıdaki gibi bir ara adımı görselleştirebiliriz:

=SUMPRODUCT((0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,1,0,0;0,0,0,0,0;0,0,0,0,0)*(5;6;7;8;9;10;11))

SUMPRODUCT daha sonra çalışma sayfasındaki 9. satıra karşılık gelen 9 sonucunu döndürür. "Veri" olarak adlandırılan aralığa göre bir dizin elde etmek için şunu kullanırız:

-ROW(data)+1

Nihai sonuç, yalnızca ilk değerin (5) görüntülendiği dizidir (5; 4; 3; 2; 1; 0; -1).

Sütun konumunu belirleme formülü aynı şekilde çalışır.

Not: Bu yaklaşıma MrExcel.com'da Mike Erickson tarafından yapılan bir yorumda rastladım. Bu iş parçacığında dizi formülü seçeneği de dahil olmak üzere başka iyi fikirler de var.

Ilginç makaleler...