Note: The other languages of the website are Google-translated. Back to English

Excel'de filtrelemeden sonra ilk görünür hücrenin değerini nasıl bulabilir ve alabilirim?

Bazı durumlarda, filtrelenmiş bir listedeki ilk görünür hücrenin değerini almanız gerekebilir. Nasıl başarılır? Bu makale size bunu çözme yöntemlerini gösterecektir.

Dizi formülüyle filtreledikten sonra ilk görünür hücrenin değerini bulun ve alın
VBA ile filtreledikten sonra ilk görünür hücrenin değerini bulun ve alın


Dizi formülüyle filtreledikten sonra ilk görünür hücrenin değerini bulun ve alın

Filtrelenmiş bir listedeki ilk görünür hücrenin değerini almak için aşağıdaki dizi formülünü uygulayabilirsiniz. Lütfen aşağıdaki işlemleri yapın.

1. İlk görünür değeri yerleştirmek için boş bir hücre seçin, aşağıdaki formülü içine girin ve ardından Ctrl + vardiya + Keşfet tuşlarını aynı anda

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))

not: Formülde, C2: C19, ilk görünür hücre değerini döndürmek istediğiniz filtrelenmiş listedir, C2, listenin ilk hücresidir. Bunları ihtiyaç duyduğunuz şekilde değiştirebilirsiniz.

Ardından, filtrelenmiş listedeki ilk görünür hücrenin değerini, yukarıda gösterilen ekran görüntüsü gibi seçilen hücrede doldurulmuş olarak görebilirsiniz.


VBA ile filtreledikten sonra ilk görünür hücrenin değerini bulun ve alın

Filtrelenmiş bir listedeki ilk görünür hücrenin değerini elde etmek için yukarıdaki dizi formülünü kullanmanın yanı sıra, filtrelenmiş bir listenin ilk görünür hücresini hızlı bir şekilde döndürmek için aşağıdaki VBA komut dosyasını çalıştırabilirsiniz. Lütfen aşağıdaki işlemleri yapın.

1. Filtrelenmiş bir listenin ilk görünür hücre değerini yerleştirmek için E8 gibi boş bir hücre seçin.

2. Basın Ara Toplam + F11 anahtarları aynı anda açmak için Uygulamalar için Microsoft Visual Basic pencere.

3. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül. Ardından aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.

VBA kodu: Excel'de filtrelemeden sonra ilk görünür hücrenin değerini bulun ve alın

Sub FirstVisibleCell()
   With Worksheets("Sheet1").AutoFilter.Range
       ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
    End With
End Sub

not: Kodda, Sayfa1 filtrelenmiş listeyi içeren sayfa adıdır. "C", ilk görünür değeri almak istediğiniz sütun adıdır. Bunları ihtiyaç duyduğunuz şekilde değiştirebilirsiniz.

3. Tuşuna basın. F5 kodu çalıştırmak için tuşuna basın, ardından C sütununda bulunan filtrelenmiş listenin ilk görünür hücresi hemen E8 hücresine doldurulur.


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (17)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Excel'de Ara Toplam Filtrelemeden Sonra On (10) İlk Görünen Hücrenin Değeri Nasıl Bulunur ve Alınır?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Ola,


Como faço para saber o número da celula toda vez que realizo o filtro automático yok vba aracılığıyla döngü?
Örnek olarak, ao filtrar o valor 1, retornou as linhas 2, 3 e 4. linhas 2, 19, 20 olarak próximo loop filtro o valor 22 e retorna yok.
Gerçek para biriminin gerçek değeri, temel filtreler ve gerçekler, gerçekler ve değerler, gerçekler ve gerçekler değil, ilk değerlerden biri mi?
Teşekkür ederim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
VBA'da Mükemmel Modül, mükemmel çalıştı Bunu takdir ediyorum! Bu yazı için çok teşekkürler!!!!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu formülün gerçekte nasıl çalıştığını biri açıklayabilir mi?

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sürekli '91' Nesne değişkeni veya Blok değişkeni ayarlanmamış bir Çalışma zamanı hatası alıyorum. Çalışma sayfam, AllBrands başlıklı Sayfa1'dir. Bu benim formülüm:

Alt FirstVisibleCell()
Çalışma Sayfaları ile ("ALLBRANDS").AutoFilter.Range
ActiveCell.Value2 = Aralık("H" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
İle bitmek

End Sub

Herhangi bir yardım takdir edilecektir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Bub,
Kod benim durumumda iyi çalışıyor. Hangi Excel sürümünü kullanıyorsunuz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Ne yazık ki - ne formül - bu bana #DEĞER hatası veriyor ne de VBA benim için çalışıyor ve bana çalışma zamanı hatası '1004' veriyor
Office 2019'a sahip olduğum için çok kötü ve bu özelliklerden birinin belirli hücreleri filtrelerken çalışmasını bekliyordum... :-(
Bu yorum sitedeki moderatör tarafından en aza indirildi
‌harika🌺 Milyonlarca teşekkürler🙏
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bir milyon teşekkürler🙏🌺
Bu yorum sitedeki moderatör tarafından en aza indirildi
İşe yarıyor. Çok teşekkürler...
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu formül işe yarar, ancak boş hücreleriniz varsa formülün hatalı çalışabileceğini ve yalnızca filtrelenmiş sonuçlarda değil, tüm tablodaki ilk değeri seçebileceğini unutmayın. Bulduğum geçici çözüm, boş hücreleri NULL veya boşlukla değiştirmekti.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Önce boşluklarım vardı... sonra tüm hücreler doluydu ama hala #DEĞER yanıtı alıyordum. Umarım bu formül metin üzerinde de çalışır...! Yine de tavsiyen için teşekkürler ;-)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu yüzden benim için yukarıdaki cevap o kadar iyi çalışmıyor. 23 binden fazla satır içeren bir çalışma kitabım var ve yıllardır optimize etmek için çalıştığım bir şey. Çözümüm bu sabah bana başka bir ilham kıvılcımı ile geldi.
Bunu yapmak istediğiniz verileri almak için bir TABLO kullandığınızı varsayarsak: Bir satır ("Rownmbr" adını verdim): =CELL([@[YOURFIRSTROW]])
Tablonun dışında bir yerde bir formül yaparsınız:=INDIRECT(CONCATENATE("A";SUBTOTAL(105;Table1[Rownmbr])))
Sadece "A" yı, verileri nereden almak istiyorsanız onunla değiştirin. Benim için bu harika çalışıyor ve belgeyi daha da zorlaştıracak ağır bir formül değil.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bir masa kullandığım için bu çözüm benim için mükemmel çalıştı. Talimatları takip etmek zordu, bu yüzden umarım bu açıklama biraz daha net olacaktır.
"Table_Name" adında bir excel tablonuz olduğunu varsayalım. Öncelikle tablonuzda yeni bir sütun oluşturun ve ona "RowNumber" adını verin. 
Bu yeni sütuna, "=SATIR([@SatırNumarası])" formülünü girin, bu daha sonra yeni sütunu
İlk görünür değeri görüntülemek istediğiniz hücreye "=DOLAYLI("A"&ARA TOPLAM(105,Tablo_Adı[SatırSayısı]))" formülünü girin "A", istediğiniz değeri içeren sütunun harfidir. geri vermek.
SUBTOTAL(105,...) işlevi, belirli bir aralıktaki tüm görünür satırların minimum değerini döndürür; bu, yukarıdaki durumda ilk görünür satırın satır numarasını döndürür.
DOLAYLI işlevi, belirli bir hücre adresi için hücrenin değerini döndürür. Bu nedenle, görüntülemek istediğiniz sütunun sütun harfini içeren formülün ilk bölümüne ihtiyacınız var. Formülün ikinci kısmı satır numarasını döndürür.


Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu formülü google sayfasına arrayformula () ile yazmama yardım eder misin?

{=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))}
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aşağıdaki VBA kodunda, lütfen ne yaptığını açıklayabilir misiniz? Özel Hücreler(xlCellTypeVisible)(1) kastetmek? Nedir (1) sonrası için kullanılır Özel Hücreler(xlCellTypeVisible)?
ActiveCell.Value2 = Aralık("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkür ederim!
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır