[英]How do get the index of a table's column by using a structured reference in excel?
[英]How to Exclude a Column(s) in a Structured Reference to Table[#Data] (or similar)
我想引用我的動態表中的所有數據,除了前兩列。 我的目標是返回非空白的第一列的 header,從第三列開始。 除了從第三列部分開始之外,我已經為所有內容計算出了公式。 有沒有一種簡單的方法可以做到這一點? 我在想我可能不得不做類似的事情
`=Table[#Data] 除非在前兩列的范圍內'
希望有一個更簡單的方法。
編輯:如果我的要求不夠明確,我正在尋找一個在這些情況下會產生以下確切情況的公式。 它必須在一個可以毫無問題地改變大小的表中工作,它必須忽略前兩列,它必須在移動到下一列之前從左到右掃描完整的數據列(我試過的大多數公式都會給出結果 Aug-21 here),它必須以基本上任何格式返回 header。
我沒有時間為此寫出完整的答案,但您應該使用數據功能區的“從表”按鈕“獲取和轉換”部分。
然后,在查詢編輯器 window 中,在主頁功能區中,單擊管理參考。要找到第一個非空白列的 position 將很難,需要學習 Power-Query 語言,可能類似於單擊高級編輯器並添加步驟
let
Source = #"YourSourceQueryName",
ColumnNames = Table.ColumnNames(Source),
ColumnsToRemove = 2 + List.PositionOf( // PositionOf is zero-based, returning -1 if all are blank
List.Transform(
List.RemoveFirstN( // list of column names except the first two
ColumnNames,
2
),
(columnName) => List.IsEmpty(List.RemoveNulls(Table.Column(myTable, columnName)))
),
false
), // Power query is lazy, so this won't actually look at every column, it will stop when it finds the first column!
ColumnNamesToKeep = List.RemoveFirstN(
ColumnNames,
ColumnsToRemove
),
ReturnTable = if (ColumnsToRemove = 1) then
"All columns were blank!" // PositionOf returned -1!
else
Table.SelectColumns(Source, ColumnsToKeep)
in
ReturnTable
您現在可以在其他查詢中使用它,也可以將其加載到電子表格中。 不幸的是,電源查詢不會實時刷新,您必須明確刷新查詢或使用數據功能區中的“全部刷新”按鈕。
(我強調了“like”這個詞,因為我沒有調試。可能包含語法錯誤或其他問題供您調試。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.