2016-11-20 50 views
1

我有一個Google表單,它接收來自表單的數據,我需要從提交中獲得一個單元格,並將其拆分爲特定分隔符的列。我已經在數據菜單中使用了「分割文本到列」功能,但是每次提交新表單時都需要這樣做。Google表單分割文本到列自動化

因此,觸發器「在表單提交」上,使用分隔符「>」將單元格C中的數據分成單元格C,D和E.

感謝您的幫助!

回答

1

可以使用REGEXREPLACE和文字數組公式與本機的功能做到這一點:

=arrayformula(if(istext(A1:A),{arrayformula(REGEXREPLACE(A1:A,">.*","")),arrayformula(regexextract(A1:A,"^.*>(.*)>.*$")),arrayformula(REGEXREPLACE(A1:A,"^.*>",""))},)) 

enter image description here

的原因ARRAYFORMULA做這項工作也是因爲我包含在if is text部分,它會只有當你的數據已經被表單導入時,纔將公式擴展到該行,但是它不會阻止行導入,因爲它只是第一行中的單個公式

+0

數組形式肯定是方式t去,但請注意,空行不會評估爲空,因爲單元格的值將爲「」。所以在進一步測試其他配方時要小心。 –

+0

@Karl_S行沒有「」的值,因爲我故意結束語句,沒有別的,「」 –

+0

不錯。我不知道這個選擇。謝謝。 RE公式,下面的編輯允許它在第1行,並使用該行作爲標題行。您手動添加列A的標題,它將它們添加到列B-D中,這限制了它將被其他人覆蓋的可能性。我還使用了一個Not IsBlank組合來顯示測試中的不同選項: '= arrayformula(if(not(isblank(A1:A)),IF(ROW(A1:A)= ROW(A1)參數1「,」參數2「,」參數3「},{arrayformula(REGEXREPLACE(A1:A,」>。*「,」「)),arrayformula(regexextract(A1:A,」^。*> *)>。* $「)),arrayformula(REGEXREPLACE(A1:A,」^。*>「,」「))}),))' –