나는 적어도 프로세스가 Zapier 내에서 처리 될 수있을 때까지 사용되거나 수정 될 수있는 스크립트를 만들었습니다.
다음 SS의 스크립트를 시도 할 수 있습니다 : https://docs.google.com/spreadsheets/d/1ggNYlLEeN3UYtZC_KlOGwpyII9CzOLKMnIOKIDrPJPM/edit?usp=sharing
스크립트는 주문 Zapier라는 탭에 도착할 것으로 가정합니다. 상황이 설정되면 사용자 정의 메뉴를 통해 스크립트를 실행합니다.
두 개 이상의 주문이있는 경우 각 주문의 메뉴를 클릭하십시오.
전체 행은 전체 목록 시트에 표시됩니다.
(재생/다시 시도하려면 풀리스트에서 행을 수동으로 삭제해야합니다.)
function processForNewOrders() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName('Zapier');
var destinationSheet = ss.getSheetByName('FullList');
var sourceValues = sourceSheet.getDataRange().getValues();
var destinationValues = destinationSheet.getDataRange().getValues();
var index = [];
destinationValues.forEach(function (x) {
index.push(x[0]);
})
var newOrders = [];
for (var y = sourceValues.length -1 ; y > 0 ; y --){
if(sourceValues[y][0].toString().indexOf('po_number') != -1) continue;
var i = index.indexOf(sourceValues[y][0]);
if(i != -1) break; // This readies only the fresh orders for processing
newOrders.push(sourceValues[y]);
}
Logger.log(newOrders)
for (var j = 0 ; j < newOrders.length ; j++){
var output = [];
var orderLine = newOrders[j];
Logger.log('orderLine = ' + orderLine);
var circuit = 0;
var items = 1
while (circuit < items){
var row = [];
for (var z = 0 ; z < orderLine.length; z++){
var cell = orderLine[z];
// Logger.log(cell);
var lines = cell.toString().split(',');
if(lines.length > 1) items = lines.length;
row.push(lines[circuit] ? lines[circuit] : lines[0]);
// Logger.log('row =' + row);
}
circuit ++;
Logger.log('circuit circuit circuit =' + circuit)
output.push(row);
}
}
Logger.log(output);
if(output != undefined)
destinationSheet.getRange(index.length+1,1,output.length,output[0].length).setValues(output);
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('Process new order', 'processForNewOrders')
.addToUi();
}
당신은 확실히 여러 행으로 순서를 분할 할 수 있습니다 ...하지만 난이 (Zapier 사용되지 않는)를 써 내에서 수행 할 수 있는지 알 수 없거나 즉 두 번째 패스, 하나 Google 애플리케이션 스크립트로 주문이 도착하면 실행됩니다. 심지어 스프레드 시트 수식은 주문을 두 번째 시트로 자동 분할합니다. 주문 당 시트가 있습니까? 아니면 Zap이 각 시트를 동일한 시트에 계속 추가합니까? 이전에 Zapier를 사용하지 않은 추가 정보가 필요합니다. 또한 주문 스프레드 시트의 사본 (모조이지만 정확한)이 필요할 수 있습니다. –
1. Re : Google Apps Script - 옵션으로 고려했습니다. 제품은 Excel의 "text to columns"기능과 비슷하게 데이터를 분할하기 위해 스크립트를 작성할 수 있도록 각 셀 내에서 쉼표로 구분되어 있지만 사용자 지정 사항을 피하려고했습니다. –
2. 더미 예제 - 저는 현재 달성하려는 것과 현재 일어나고있는 가짜 예제를 만들었습니다 : [https://docs.google.com/a/perfectpixelmarketing.com/spreadsheets/d/17A4661YqYzb0NWXUEMmHzIKkDEdzpu_HoexXOUSEqFs/edit ? usp = sharing]. –