使用結構化引用從表標題建立列

使用結構化引用從表標題建立列

DATA我在 Excel 中有一個命名表 ( )。我想INFO_TABLE在其他地方建立一個單獨的表 ( ),其中一列包含表中的標題DATA

這就是我想要的——“HEADERS”表包含一列,其中填充了一個公式(在該列的頂部單元格中),向下溢出,包含第一個表中的所有標題值。我怎樣才能實現這個目標?

所需輸出

{=DATA[#Headers]}給我一個包含標題,但在使用 CSE(在 Mac 上)時不會自動填充(左右)。向下拖曳公式(例如A2:A5)僅給出 中的第一個列名稱DATA,如以下螢幕截圖所示:

不是所需的輸出

我也嘗試過{=TRANSPOSE(DATA[#Headers]))},但這不起作用。

(理想的解決方案不包含 VBA 或巨集)。

答案1

您可以使用 Power Query:

  1. 選擇表數據- 去數據-從表/範圍- 打開電力查詢編輯器: 在此輸入影像描述

  2. 電源查詢編輯器- 在下面選項卡選擇使用標題作為第一行 在此輸入影像描述

  3. 轉換選項卡選擇轉置: 在此輸入影像描述

  4. 消除空列和改名第 1 列至標頭: 在此輸入影像描述

  5. 主頁選項卡 - 關閉並載入到...: 在此輸入影像描述 在此輸入影像描述

答案2

不幸的是,您無法在表格中輸入溢出的公式。

但是您可以在「標題」列的第一個儲存格中使用此公式,然後根據需要將其向下拖曳:

=INDEX(Data[#Headers],ROWS($1:1))

當您向下拖曳時,ROWS函數會自動變更以傳回#Headers數組中的每個順序元素。

在此輸入影像描述

答案3

表格不允許同一想法的兩種變體:

  1. SPILL公式(大概是因為該列的公式的每一行中都有重複,導致每個此類公式“踩在”其下面的公式上,從而導致溢出錯誤)

  2. 使用舊式數組做同樣的事情(大概是出於同樣的原因)

您可以嘗試以下公式,該公式不包含SPILL或以其他方式涉及必須顯示在下一行結果上方的結果:

=INDEX(Table1[#Headers],1,ROW()-1)

其結果是單一資料單元格,因此結果不會溢出到任何其他行的結果上。它使用(本質上)溢出公式的表格功能,以便獲得所需結果的填充列。

但是,它僅支援與來源表中的列數相符的行數,但這可能不會成為問題。

要么將表尺寸下拉,以便為來源表中的所有列提供足夠的行,然後輸入公式,要么輸入公式,然後將表尺寸下拉以適合結果。沒有多餘的行,但也不能太少! (使用表格右下方儲存格右下角的小標記向上/向下(如果需要的話向左/右)拖曳以調整其大小以適合。向下拖曳直到出現有缺陷的結果,然後向上拖曳到最後一個好的結果。

相關內容