Excel'de Adlandırılmış Tablo Sütununa (hücre içeriği aracılığıyla) dinamik olarak başvurma


12

Excel 2007'de bir Excel tablosu sütununa dinamik olarak nasıl başvurabilirim? Adlandırılmış bir tablonun adlandırılmış bir sütun başvurmak istiyorum ve başvurulan sütun bir hücrenin değeri ile değişir.

Excel'de bir tablo var (buna Table1 diyelim ). Sütunlarından birine ve COUNTbu sütundaki sayılara başvurmak istiyorum . A1Aşağıdaki sonucu elde etmek için başvurulan sütunu dinamik olarak başka bir hücrede ( ) bir değerden tanımlamak istiyorum : Değiştirdiğimde A1, Table1 [ DynamicallyReferencedColumnName ] sayar formül yeni başvuru güncelleştirilir.

Misal:

  • Eğer A1= names    ise formül eşit olur COUNT(Table1[names]).
  • Eğer A1= lastnameise formül eşit olur COUNT(Table1[lastname]).

Kullanmayı denedim =COUNT(Table1[INDIRECT("$A$1")]), ancak Excel formülün bir hata içerdiğini söylüyor.

Bunu nasıl yapabilirim?


PS İlgili olabilecek bu MSDN belgesini buldum: Excel yeniden hesaplama .


Hangi Excel sürümünü kullanıyorsunuz?
CharlieRB

Şu anda Excel 2007
rcphq

Ben de bu soru şöyle ifade edilebilir: "excel yapılandırılmış bir referans dinamik bir bileşen referans".
jiggunjer

Yanıtlar:


13

Neredeyse bitirdiniz INDIRECT(), ama mantığınız biraz uzaktaydı. Bunun yerine şunu deneyin:

=COUNT(INDIRECT("Table1["&A1&"]"))

Hatırlanması gereken anahtar, INDIRECT()yalnızca ilk argüman için metin (yani bir dize) almasıdır. Bu nedenle, tablonun tüm bölümlerini fonksiyon olarak metin olarak geçirmeniz gerekir.


gerçekten çalıştı, tüm tabloya referans gerekiyordu. bu işe yaradı! Teşekkürler!
rcphq

16

INDIRECT yöntemini kullanmak işe yarar, ancak en iyi şekilde kaçınılmalıdır, çünkü bu geçici bir işlevdir ve e-tablonuz üzerinde büyük bir hesaplama etkisi olabilir.

İstediğinizi gerçekleştiren kalıcı olmayan bir alternatif INDEX / MATCH kullanmaktır

COUNT(INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)))

-Tim


Mükemmel, aslında daha sonra bu yöntem rastladı ve o zamandan beri kullanıyorum. Tesadüfen, bir düzineden fazla kağıda dolaylı kullandığım eski e-tablolarda büyük bir yavaşlama fark etmeye başladım. Teşekkürler!
rcphq

2

ilk adım, başvurmak istediğiniz sütunun adını içeren bir metin hücresi ayarlayın (örneğin $ A $ 1) $ A $ 1, örneğin "Sütun2" içerir.

ardından $ A $ 1'in ifade ettiği sütun sayısını bulmak için = Count (dolaylı ("Tablo1 [" & $ a $ 1 & "]"))

bu dolaylı yöntem, tablo referansının tüm bölümlerini oluşturmak için kullanılabilir ve örneğin farklı tablolardan arama yapacak şekilde de düzenlenebilir

İpucu. $ a $ 1 hücresi, tek tablonun başlıklarına işaret eden açılır liste olarak doğrulanırsa, başlık başlıklarında yapılan değişikliklerin tablodaki sütun sayısında yapılacak herhangi bir değişiklik alınır.


1
(1) İlk adım: İstenen sütunun adını, gibi bir hücreye yerleştirin A1.  OP zaten bunu yaptı ve soruda bunu söylüyor.   (2) İkinci adım, Excellll'in cevabının tam bir kopyasıdır . (4) A1Geçerli sütun adlarının açılır listesi olarak yapılandırmak iyi bir fikir gibi görünüyor, ancak cevabın son paragrafının geri kalanını anlamıyorum.
Scott

1

Excel'de yapılandırılmış referanslarla ilgili çok iyi bir makale. Bu, Excel 2010'da Excel 2007'den biraz farklı çalışıyor gibi görünüyor.

Excel tablolarıyla yapılandırılmış başvurular kullanma

Temel olarak tabloya ve ardından tablodaki sütuna başvuruda bulunacaksınız.

Genel Excel Tablosu

Bu örnekte, aşağıdaki gibi Tablo 1 Sütun 1'e başvurabilirsiniz:

=COUNT(Table1[Column1])

Tablonuzdaki başlık sütunlarını adlandırabilirsiniz. Sütun1'i Satış olarak yeniden adlandırsaydım formül şöyle olur:

=COUNT(Table1[Sales])

Evet benim tablo düzgün farklı sütunlar ile adlandırılır, istediğim bir hücre değerine bağlı olarak istediğim sütun excel anlatmak için bir yöntem, böyle bir şey =COUNT(Table1[A1])A1 nerede columnname içerdiğim hücre
rcphq
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.