
Genel formül
=LOOKUP(2,1/(A:A""),A:A)
Özet
Bir satır veya sütundaki boş olmayan son hücrenin değerini bulmak için, bu şaşırtıcı derecede kompakt formülde ARA işlevini kullanabilirsiniz. Ek bir bonus olarak, bu formül bir dizi formülü değildir ve uçucu değildir.
Açıklama
Bu formülü anlamanın anahtarı, 2'nin aranan_değerinin, aranan_vektörde görünecek tüm değerlerden kasıtlı olarak daha büyük olduğunu fark etmektir.
- A: A "" ifadesi bir doğru ve yanlış değerler dizisi döndürür: (DOĞRU, YANLIŞ, DOĞRU,…).
- 1 sayısı daha sonra bu diziye bölünür ve 1'lerden oluşan veya sıfır hataya bölünen yeni bir dizi oluşturur (# DIV / 0!): (1,0,1,…). Bu dizi, aranan_vektördür.
- Aranan_değer bulunamadığında, ARA, sonraki en küçük değerle eşleşir.
- Bu durumda, aranan_değer 2'dir, ancak aranan_dizideki en büyük değer 1'dir, bu nedenle arama dizideki son 1 ile eşleşecektir.
- ARA sonuç_vektöründe karşılık gelen değeri döndürür (yani aynı konumdaki değer).
Hatalarla başa çıkmak
Aranan_vektörde hatalar varsa, özellikle son boş olmayan hücrede bir hata varsa, bu formülün ayarlanması gerekir. Bu ayarlama gereklidir çünkü bir hücre hata içeriyorsa "" ölçütü kendi başına bir hata döndürür. Bu sorunu çözmek için, ISBLANK'ı NOT ile kullanın:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Son sayısal değer
Son sayısal değeri almak için ISNUMBER işlevini şu şekilde ekleyebilirsiniz:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Son değerin konumu
Son değerin konumunu (bu durumda satır numarasını) almak istiyorsanız, aşağıdaki gibi bir formül deneyebilirsiniz:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Burada, aynı aralığın satır numaralarını sonuç vektörü aramaya besliyoruz ve son eşleşmenin satır numarasını geri alıyoruz.