Aralarında boş hücreler olan bir satıra başvuru ve aralarında boş hücreler olmadan başka bir satırdaki sonuçları döndürme


0

Hücreler birbirleri arasında eşit aralıklarla yerleştirilmiş bir satır var. Bu satırdaki her 8. hücrenin, hücreler arasında boşluk olmayan başka bir sayfadaki hücreye başvurmasını istiyorum. Bu satırda çok fazla veri var, bu yüzden zaten büyük olan ve VB kodunu yavaşlatacak hiçbir şey yapmak istemiyorum.


Açıklığa kavuşturmak için, A, B, C, ... gibi ardışık sütunlarda değerleri olan bir sayfanız var mı? ve başka bir sayfada, birinci sütunda A sütununa, A sütununda, B sütununda hücreye başvuruda bulunmasını, C sütununda hücreye başvuruda bulunmak için Q sütununa vb.
fixer1234

Süper Kullanana Hoşgeldiniz. Bu bir betik / formül yazma servisi olmadığı için, zaten ne denediğinizi ve nerede sıkışıp kaldığınızı bilmek çok yararlı olacaktır.
CharlieRB

Sayfadaki referans olarak almak istediğim hücreler ardışık. Sonuçları görüntülemek istediğim sütun, her hücre arasında 7 boş hücre bulunan hücrelere sahiptir.
Alexis Trevino

Yanıtlar:


0

İşte bunu nasıl başaracağımızın özü.

Sayfa 1'deki kaynak değerlerin 3. satırda olduğunu, C sütunundan başladığını söyleyin; böylece C3, D3, E3, vb. Ekran hücreleri, B sütunundan başlayıp her 8'inci hücre, yani B5, J5, R5, vb. Senin durumunda daha basit olabilir.

Böylece B5'in C3, J5'i D3, R5'i E3'ü, vb. Göstermesi gerekir. Bunu yapmak için, OFSET veya INDIRECT kullanarak iki genel yol vardır. İkisini de örnekleyeceğim.

Sütun Hesaplaması: Her iki durumda da, sütun artışlarının sayısını hesaplamanız gerekir (artış, sayfa 2'de 8'dir, sayfa 1'de 1'dir). Bunun için formül şöyle olurdu:

(COLUMN()-COLUMN(B5))/8  or in this example:
(COLUMN()-2)/8

Boş COLUMN () işlevi, içinde bulunduğu hücrenin sütununu döndürür. Sayfa2'deki her görüntüleme hücresi için, sütunu, eksi serideki ilk sütunu, 8'e bölünerek, sayfa1'deki sütun artışlarının sayısını verir.

İçin OFFSET , böyle kullanmak. Sayfa2 hücrelerinde bulunan formül şöyle olacaktır:

=OFFSET(sheet1!C3,0,(COLUMN()-2)/8,1,1)

OFFSET bir çapa hücresinden çalışır (bu örnekte C3), daha sonra 0 satırı ofset eder, yukarıdaki formülle hesaplanan sütun sayısını dengeler ve 1 satır boyutunda 1 satır sonuç (tek bir hücre) döndürür.

INDIRECT , oluşturduğunuz bir şeyi metin ve hesaplamalardan adrese çevirir. Bu işlev için, gerçek hücre adresini bulmak için bağlantı noktasına eklemeniz gerekir. INDIRECT, sütunları hesaplamak için kullanışlı olan alternatif bir adres belirtme stili kullanmanıza olanak sağlar; sütunlara harflerden ziyade sayı olarak atıfta bulunur. Hücre C3, R3C3 veya satır 3, sütun 3 olacaktır.

Çapanın sütununa eklemek sütun hesaplamasını şöyle gösterir:

(COLUMN()-COLUMN(B5))/8+COLUMN(sheet1!C3)  or in this example:
(COLUMN()-2)/8+3

Hücre başvurusu oluşturma, metin ve hesaplanan sayıları birleştirerek yapılır:

=INDIRECT("sheet1!R3C"&(COLUMN()-2)/8+3,false)

"False", hücre başvurusunun "R1C1" stilinde olduğunu gösterir.

Her iki formülü de, sayfa2'deki ilk görüntüleme hücresinde ayarlayın, böylece elektronik tablo düzeninize göre ayarlayın. Sonra diğer ekran hücrelerinin her birine kopyalayın.

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.