簡體   English   中英

自動將文本轉換為行和列(Google 表格)

[英]Automate converting text to rows and columns (Google Sheets)

我正在嘗試將從 Squarespace 網站提交的訂單表格數據從以下格式轉換為具有 4 列的表格:

Store,Item,Quantity,Details;Store2,Item2,Quantity2,Details2; (ETC...)

逗號分隔列,分號分隔行。 到目前為止我嘗試過的所有方法都成功地將數據拆分為所需的形式,但是在添加新數據時會出現問題。 提交表單時,它會在下一個可用的空行中創建一個新行。 我似乎無法找到一種方法來自動化流程而不會收到周期性依賴錯誤,因為每個訂單可以有任意數量的項目條目。

電子表格示例: https://docs.google.com/spreadsheets/d/1ZEWtmMiWO0Us76Z7o7GB7Salw1Rl_-1PhK6GzeOD0GM/edit?usp=sharing

上面的示例根據需要拆分數據。 我不知道如何使它與作為新行添加的數據一起工作。 我還想繼續使用工作表來實現其雲功能。

任何建議都值得贊賞,包括處理數據的全新方法,無論是使用腳本、與 Squarespace forms 兼容的不同遠程訪問訂單處理應用程序,還是在 Sheets 中本地。

  • 您要實現以下轉換。

    在此處輸入圖像描述

示例公式:

=ARRAYFORMULA(SPLIT(TRANSPOSE(split(A4,";")),","))
  • 在此公式中,單元格“A4”具有輸入值。
  • 您已經使用了=TRANSPOSE(split(A10,";"))的公式。 在這個答案中,我使用了這個。
    • 對於TRANSPOSE(split(A10,";")) ,使用SPLITARRAYFORMULA將值拆分為 。

結果:

在此處輸入圖像描述

示例腳本:

當您想使用 Google Apps Script 時,您還可以使用以下腳本。

function myFunction(value) {
  const values = value.split(";");
  return values.splice(0, values.length - 1).map(e => e.split(",").map(f => isNaN(f) ? f : Number(f)));
}
  • 在這種情況下,請將腳本復制並粘貼到腳本編輯器中,並將=myFunction(A4)的自定義 function 放到一個單元格中。
    • 可以得到與上式相同的結果。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM