Satır ve sütun numaraları verilen bir hücrenin içeriğini alın


96

Satır ve sütun numarası verilen bir hücrenin içeriğini almak istiyorum. Satır ve sütun numarası hücrelerde saklanır (burada B1, B2). Aşağıdaki çözümlerin işe yaradığını biliyorum, ancak biraz huysuz hissediyorlar.

Çözüm 1

=CELL("contents",INDIRECT(ADDRESS(B1,B2)))

Sol 2

=CELL("contents",OFFSET($A$1, B1-1,B2-1))

Daha az ayrıntılı yöntem yok mu? (gibi = CellValue (satır, sütun) veya her neyse)?

Düzenleme / Açıklama: Sadece excel çalışma sayfası formüllerini kullanmak istiyorum. VBA yok. Kısacası, VBA Cells () yönteminin bir excel Formülü olarak eşdeğerini hemen hemen arıyorum.


Biraz daha bağlam alabilir miyiz? Yalnızca Excel formülleri mi kullanıyorsunuz? VBA? Başka bir yöntem mi?
Selahaddin Akara

Yanıtlar:


141

Formüllerinizin CELL () kısmına ihtiyacınız yoktur:

=INDIRECT(ADDRESS(B1,B2))

veya

=OFFSET($A$1, B1-1,B2-1)

ikisi de işe yarayacak. Her iki unutmayın INDIRECTve OFFSETuçucu fonksiyonlardır. Geçici işlevler, her bir yeniden hesaplamada hesaplandıkları için hesaplamayı yavaşlatabilir.


Bu, doğru sayıda kapanış parantezine sahip olacak şekilde düzenlendiğini görmek için yeterince kullanışlıdır.
Wyck

6
Bu sorunun / cevabın popülaritesi göz önüne alındığında, burada geçici bir işlevin ne olduğu hakkında küçük bir cümle kurmak harika olurdu .
LondonRob

İkinci formda, $ a $ 1'e bağlı olarak, sayfanın sonraki düzenlemelerinde $ a $ 1'i hiçbir şekilde taşımamanız gerektiğini unutmayın.
Erk

INDIRECT+ ADDRESSgitmenin yoludur. Benim dilimde Excel, nokta ile OFFSETayrılmış 2 kelimeye çevrilir . Bu en kötüsü (işlev adlarındaki çift noktalamalarla birlikte)!
Bitterblue

29

Deneyin = dizin (ARRAY, ROW, COLUMN)

burada: Dizi: tüm sayfayı seçin Satır, Sütun: Satır ve sütun referanslarınız

Formüle bakanların anlaması daha kolay olmalı.


2

Biraz zaman aldı ama işte bunu nasıl dinamik hale getirdim. Sıralanmış bir tabloya bağlı değildir.

İlk olarak, bir durum adları sütunu (Sütun A) ve her durumda bir uçak sütunu (Sütun B) ile başladım. (Satır 1, bir başlık satırıdır).

Uçak sayısını içeren hücreyi bulmak:

=MATCH(MAX($B$2:$B$54),$B$2:$B$54,0)+MIN(ROW($B$2:$B$54))-1

Bunu bir hücreye koydum ve o hücreye "StateRow" adını verdim Sonra yukarıdaki ipuçlarını kullanarak şunu buldum:

=INDIRECT(ADDRESS(StateRow,1))

Bu, "StateRow" satırı, 1. sütundaki dinamik değerden durumun adını döndürür

Şimdi, sayı sütunundaki değerler zamanla daha fazla veri girildikçe değiştikçe, her zaman hangi durumun en çok uçağa sahip olduğunu bilirim.

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.