Excel'de formülle döndürülen adres nasıl alınır


0

Gösterilen verilerin açılan kutu seçimlerine dayandığı bir sayfam var. Değerler şunun gibi bir formül kullanılarak hesaplanır:

INDEX(INDIRECT($Q61),SUMPRODUCT((INDIRECT($O$5)=$B$1)*(INDIRECT($O$6)=$B$2)*(INDIRECT($O$3)=$B$3)*(INDIRECT($O$7)=B$4)*ROW(INDIRECT($O$8)))-5),"")

Q61 farklı bir sayfadaki aralık: 'Data'! $ AO 6 $: $ AO

Formül, aralıktaki satırı hesaplamalı ve bir değer döndürmelidir. VBA'da bu formül tarafından bulunan adresi belirlemenin bir yolu var mı? 'Veri' gibi bir şey olmalı! $ AO $ 90. Adresi almalıyım çünkü bu adresin köprüsünü arıyorum.

INDEX formülü doğru 'Data'! $ AO $ 90 değerini verir. Köprüyü geri koymak istiyorum.

Bu, sayfanın bir görüntüsüdür. Her değer yukarıda gösterildiği gibi bir INDEX formülü kullanılarak hesaplanır. Birkaç değer köprülere sahip olmalıdır. Orijinal adresi 'Veri'de almalıyım! Kullanıcı ne zaman yeni bir seçim yaparsa onu VBA ile geri koymak için kullanılamaz.

görüntü tanımını buraya girin


Excel'in size row_numtarafından kullanıldığını göstermek için gan almak INDEX(). Formül içeren hücreyi seçin ve formül çubuğunda INDEX kelimesini tıklayın. row_numAçılan menüye tıklayın ve F9tuşuna basın. Bu sorunun cevabında resimler var .
Bandersnatch

1
Ayrıca `= CELL (" adres ", your_formula) 'nı kullanabilirsiniz.
Bandersnatch

Yanıtlar:


0

'Data'!$AO$6:$AO$104000Aralıktan itibaren değeri alırsınız 'Data'!$AO$90. Standart bir index () işlevi böyle yapar.

Sadece adrese ihtiyacınız olduğundan, 'Data'!$AO$90onu almak için kullandığınız index () işlevini ikiye bölerek alabilirsiniz. Fikir .. çünkü index(<range>,<RowNumber>,<ColNumber>), ve bu durumda oturdu 85 oldu. Bu yüzden ihtiyacınız olan "adres"

= "'Data'!$AO$"&(<RowNumber>+5)

Bir deneyin, yardımcı olur umarım. (:

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.