這個例子很容易解釋我的問題:https ://docs.google.com/spreadsheets/d/1_hXhl3fTfNuYG--hIvFVV7SKdwriROtYvHPLa6QpBYY/edit?usp=sharing
在其中,我有一個“CurrentData”選項卡,即當前資料集。我正在嘗試將目標(A 列)和類別(第 2 行)的每個匹配的值轉置到“CleanData”選項卡中。
作為示例,我已經復制了“Leads”資料集的所需結果。
我嘗試了一些多標準索引(匹配)公式,但我收到一個錯誤,說它必須是一行或一列。
我不知道該怎么做,因為實際作業表有一年的資料和兩倍的資料點 - 我希望有人可以一次將一個值的手動復制/粘貼拯救我數千細胞...
謝謝!
uj5u.com熱心網友回復:
至于生成可以參考的資料集,試試這個
=ARRAYFORMULA(
QUERY(
IFERROR(
SPLIT(
FLATTEN(
IF(ISBLANK(CurrentData!A3:A),,
CurrentData!A3:A&"|"&CurrentData!B2:G2&"|"&CurrentData!B3:G)),
"|",TRUE,FALSE)),
"select Col2, Col1, Col3
where Col3 is not null",0))
如果一切按計劃進行,它將像您的 cleanData 表一樣輸出三列。從那里您可以使用普通過濾器 - 例如,如果您想要 General 和 Leads... 假設此輸出位于 A:C 的第二張表中,并且您在 E1(General)和 E2(Leads)中進行了資料驗證
=FILTER(A1:C,A1:A=E1,B1:B=E2)
或者,如果您想花哨并擁有一個通用過濾器,這可以讓您為第一列或第二列或兩者選擇一個值
=IF(COUNTA(E1:E2)<1,,
FILTER(
A1:C,
REGEXMATCH(A1:A,IF(ISBLANK(E1),".*",E1)),
REGEXMATCH(B1:B,IF(ISBLANK(E2),".*",E2))))
如果 E1 或 E2 為空,它會回傳一個通配符,它??將為您提供一切。COUNTA 部分強制公式等到至少有一個輸入,否則它將簡單地回傳您的整個資料集。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/486506.html
