我有一個包含許多列(超過 100 列)的回應表(同步到 Google 表單)。回應可以是“是”/“否”,如果回應為“否”,則需要自由文本回應。我想將 No's 和 Free-text 回應與其他回應區分開來——最好是在不同的作業表中。這種過濾應該是自動化的,所以每次我收到新的回應時,我都不需要修改公式等。我嘗試按顏色過濾資料并通過 SheetGo 將其匯出 - 但它只允許我選擇一列作為參考,我有不止一個。我曾嘗試使用帶有 IF 子句的查詢/過濾器功能 - 但我仍然遇到一些是。請問有人可以幫忙嗎?在此先感謝您的幫助!
uj5u.com熱心網友回復:
在新作業表中,使用以下公式:
=filter(FormData!A2:B, FormData!A2:A="No")
更改FormData
為輸入表單回應的作業表名稱。更改A2:B
您想要過濾掉的資料范圍(如果是/否回應不在相鄰列中,您可以將過濾器范圍更改為類似的內容{FormData!A2:A, FormData!G2:G}
)。最后,A2:A
根據“是/否”回應的范圍進行更改。
所有這一切的例子如下所示:
表單資料:過濾器:
表單資料:過濾器:
請讓我知道,如果你有任何問題。希望這可以幫助!
編輯
這是基于評論中的說明的更新答案。
原始回應表:
過濾表:
細胞
A1
:
={"User",arrayformula(filter(if((a!$A$2:$L$2="Yes"), offset(a!$A$1:$L$1,0,1), if(a!$A$2:$L$2="No", offset(a!$A$1:$L$1,0,1), "")),if((a!$A$2:$L$2="Yes"),a!$A$1:$L$1, if(a!$A$2:$L$2="No", a!$A$1:$L$1, ""))<>""))}
此公式根據第一組回應查找是/否問題的標題。如果問題的答案是“是”或“否”,則設定標題。第一個標題設定為“用戶”。請將其更改為作業表中命名的任何標識標題。
細胞
A2
:
=QUERY(a!$A$2:$L$9,"SELECT "&join(",",arrayformula(SUBSTITUTE(ADDRESS(1,MATCH($A$1:$D$1,a!$A$1:$L$1,0),4),1,""))))
此公式將標題名稱與原始回應表中的標題匹配,查找列,并使用這些參考來查詢結果。
對于這兩個公式:
- 將所有
a!$A$2:$L$2
和替換a!$A$1:$L$1
為包含您的資料的列。無需更改行號。- 用過濾表的第一行替換
$A$1:$D$1
(在第二個公式中)。這參考了是/否問題和用戶識別符號的標題。
將所有a!
參考替換為您的原始回應表的名稱(即[nameOfSheet]!
)。
我將這些公式分開,以幫助使事情更整潔,更易于理解。這是一個可以放置在A1
過濾表的單元格中的單個公式解決方案:
={"User",arrayformula(filter(if((a!$A$2:$L$2="Yes"), offset(a!$A$1:$L$1,0,1), if(a!$A$2:$L$2="No", offset(a!$A$1:$L$1,0,1), "")),if((a!$A$2:$L$2="Yes"),a!$A$1:$L$1, if(a!$A$2:$L$2="No", a!$A$1:$L$1, ""))<>""));QUERY(a!$A$2:$L$9,"SELECT "&join(",",arrayformula(SUBSTITUTE(ADDRESS(1,MATCH({"User",arrayformula(filter(if((a!$A$2:$L$2="Yes"), offset(a!$A$1:$L$1,0,1), if(a!$A$2:$L$2="No", offset(a!$A$1:$L$1,0,1), "")),if((a!$A$2:$L$2="Yes"),a!$A$1:$L$1, if(a!$A$2:$L$2="No", a!$A$1:$L$1, ""))<>""))},a!$A$1:$L$1,0),4),1,""))))}
這個公式還需要按照上面列出的方式進行編輯,考慮到這個公式出現的混亂程度,這可能會更加棘手。一個簡單的查找和替換可以在這里創造奇跡。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/496001.html