[英]Excel lookups function to find a structured table and column
我有一個帶有一堆桌子的工作表。 這些表是結構化的,但是標題(TABLE1,TABLE2)不是實際表的一部分。 我正在嘗試創建一個函數,該函數查找與標題對應的表,然后查找COLUMN3
以返回值SEVEN
。 這是他們的樣子。 我試圖使此函數足夠靈活,以便將值更改為TABLE2時,它將返回GG
。
TABLE1 +---------+---------+---------+----------+ | column1 | column2 | COLUMN3 | column4 | +---------+---------+---------+----------+ | row1 | xxx | xxx | xxx | | row2 | xxx | SEVEN | xxx | | row3 | xxx | xxx | xxx | | row4 | xxx | xxx | xxx | +---------+---------+---------+----------+
TABLE2 +---------+---------+---------+----------+ | column1 | column2 | COLUMN3 | column4 | +---------+---------+---------+----------+ | row1 | bb | cc | dd | | row2 | ff | GG | hh | | row3 | zzz | zzz | zzz | | row4 | zzz | zzz | zzz | +---------+---------+---------+----------+
我不確定從哪里開始。 我不具備VBA知識,因此我試圖僅通過一個超級嵌套函數來解決此問題(盡管歡迎使用任何提示/解決方案)。 有任何想法嗎? 提前致謝!
您可以將表名(如果使用表對象)或范圍名與間接函數一起使用。 請看下面的截圖。
這些表分別稱為TableBlue和TableYellow,並且已通過“插入”>“表”創建。 結構化引用可用於引用表的元素,例如TableBlue
引用藍色表中的所有表行, TableYellow[#Headers]
指向黃色表的頭行。
可以將此文本插入Indirect()函數,該函數將指向相應的范圍。 E11中的公式將其組件與“間接”放在一起,並使用左側單元格中的文本。 了解如何將其復制下來,使其在不同的表中顯示,甚至可以從不同的列返回值。
=VLOOKUP(C11,INDIRECT(B11),MATCH(D11,INDIRECT(B11&"[#Headers]"),0),FALSE)
當然,這種Indirect()構造可以用在其他公式中,而不僅僅是Vlookup。 這取決於您要實現的目標。 但是請注意,間接是易變的,可能會使速度變慢,尤其是在大型工作簿中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.