在我的 excel 中,我有主表,其中包含我需要的所有資料,但此資料未過濾(大部分行為空),因此要從特定列中選擇值,我需要取消選中過濾器中的“空白”并只有這樣我才能復制資料并將其粘貼到另一個作業表(其中應包含每一列的資料)。我對主作業表中的每一列都這樣做。有什么方法可以將資料(具有值的行)從每一列匯入到另一個作業表?因為當我手動進行時,它需要很多時間。謝謝你的幫助!


uj5u.com熱心網友回復:
如果我正確理解你的想法,你需要這樣的表達:
=Sheet1!A26 Sheet1!B26
uj5u.com熱心網友回復:
突出顯示源資料并使用來自表/范圍的資料 .. 帶入 powerquery
在主頁...高級/編輯器...粘貼下面的代碼,更改第一行以反映您的范圍。好的
檔案...關閉并加載
這適用于任意數量的列,將資料“壓縮”到每列的頂部
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Demoted Headers" = Table.DemoteHeaders(Source),
#"Added Index" = Table.AddIndexColumn(#"Demoted Headers", "Index", 0, 1),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Added Index", {"Index"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Index"}),
#"Grouped Rows" =Table.Group(#"Removed Columns" , {"Attribute"}, {{"GRP", each Table.AddIndexColumn(_, "Index", 1, 1), type table}}),
#"Expanded GRP" = Table.ExpandTableColumn(#"Grouped Rows", "GRP", {"Value", "Index"}, {"Value", "Index"}),
#"Pivoted Column" = Table.Pivot(#"Expanded GRP", List.Distinct(#"Expanded GRP"[Attribute]), "Attribute", "Value"),
#"Removed Columns1" = Table.RemoveColumns(#"Pivoted Column",{"Index"}),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Columns1", [PromoteAllScalars=true])
in #"Promoted Headers"

uj5u.com熱心網友回復:
如果您想在洗掉空白的同時堆疊行值,只需使用FILTER粘貼到單元格中的函式然后跨列復制即可:
=FILTER(Sheet1!A2:A100,LEN(Sheet1!A2:A100)>0)
但是,我注意到您在左側有時間戳。如果您想過濾掉完全空白的表格行資料,同時保留所有包含至少一列資料的行并保持表格完整性(某些空白仍然存在),那么這也可以使用更復雜的公式來完成:
=LET(data, Sheet1!B1:E100, table, Sheet1!A1:E100, FILTER(table&"",MMULT(LEN(data),TRANSPOSE(--(COLUMN(data)>0)))>0))
在這里,您可以根據data欄位中所有字串長度的矩陣乘法與單位矩陣相乘來創建過濾條件,該單位矩陣使用MMULT(LEN(data),TRANSPOSE(--(COLUMN(data)>0))).
[參考:https : //stackoverflow.com/a/61476755/3688861]
然后可以測驗該陣列以查看它是否大于過濾條件的 0。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/373214.html
上一篇:無法從自定義另存為對話框/VBA禁用Excel備份設定
下一篇:在SwiftUI中回圈字典
