Jak dynamicznie odwoływać się do kolumny tabeli programu Excel w programie Excel 2007? Chcę odwoływać się do nazwanej kolumny nazwanej tabeli, a wskazana kolumna będzie się różnić w zależności od wartości komórki.
Mam tabelę w programie Excel (nazwijmy ją Tabela1 ). Chcę odwołać się do jednej z jej kolumn i COUNT
liczb w tej kolumnie. Chcę zidentyfikować kolumnę, do której istnieje odwołanie, dynamicznie na podstawie wartości w innej komórce ( A1
), aby móc osiągnąć następujący wynik: Po zmianie A1
formuła zliczająca wartość Table1 [ DynamicallyReferencedColumnName ] zostaje zaktualizowana do nowego odwołania.
Przykład:
- Jeśli
A1
=,names
wówczas wzór byłby równyCOUNT(Table1[names])
. - Jeśli
A1
=,lastname
wówczas wzór byłby równyCOUNT(Table1[lastname])
.
Próbowałem użyć =COUNT(Table1[INDIRECT("$A$1")])
, ale program Excel mówi, że formuła zawiera błąd.
W jaki sposób mogę to zrobić?
PS Znalazłem ten dokument MSDN, który może być odpowiedni: Przeliczenie programu Excel .
Odpowiedzi:
Prawie to miałeś
INDIRECT()
, ale twoja logika była trochę zła. Spróbuj zamiast tego:Kluczem do zapamiętania jest to, że
INDIRECT()
pobiera tylko tekst (tzn. Ciąg znaków) dla pierwszego argumentu. Zatem musisz przekazać wszystkie części odwołania do tabeli do funkcji jako tekst.źródło
Metoda INDIRECT działa, ale najlepiej jej unikać, gdy tylko jest to możliwe, ponieważ jest to zmienna funkcja i może mieć ogromny wpływ obliczeniowy na arkusz kalkulacyjny.
Nieulotną alternatywą, która pozwala osiągnąć zamierzony cel, jest użycie INDEX / MATCH
-Tim
źródło
w pierwszym kroku ustaw komórkę tekstową, która zawiera nazwę kolumny, do której chcesz się odwoływać (np. $ A $ 1) $ A $ 1 zawiera na przykład „Kolumnę2”.
to aby znaleźć liczbę kolumn, do której odnosi się $ A $ 1, byłoby = Count (pośrednie („Tabela 1 [” i $ 1 $ i „]”))
ta pośrednia metoda może być użyta do skonstruowania wszystkich części odwołania do tabeli i może na przykład być również przystosowana do wyszukiwania z różnych tabel
Wskazówka. jeśli komórka $ a $ 1 zostanie zweryfikowana jako rozwijana lista, która wskazuje na nagłówki pojedynczej tabeli, wówczas wszelkie zmiany liczby kolumn w tabeli oraz wszelkie zmiany tytułów nagłówka zostaną pobrane.
źródło
A1
. PO już to zrobił i tak mówi w pytaniu. (2) Drugim krokiem jest dokładna kopia odpowiedzi Excelllla . (4) KonfigurowanieA1
jako listy rozwijanej prawidłowych nazw kolumn wygląda na dobry pomysł, ale nie rozumiem reszty ostatniego akapitu odpowiedzi.Oto bardzo dobry artykuł na temat strukturalnych odniesień w programie Excel. Wygląda na to, że działa to nieco inaczej w programie Excel 2010 niż w programie Excel 2007.
Używanie odniesień strukturalnych z tabelami Excela
Zasadniczo odniesiesz się do tabeli, a następnie do kolumny w tabeli.
W tym przykładzie możesz odwołać się do tabeli 1 w kolumnie 1 w następujący sposób:
Możesz nazwać kolumny nagłówków w swojej tabeli. Gdybym zmienił nazwę kolumny 1 na Sprzedaż, formuła wyglądałaby następująco:
źródło
=COUNT(Table1[A1])
gdzie A1 to komórka, którą chcę zawierać nazwę kolumny