У меня есть лист Google, который я использую для записи данных о продажах. Я вставляю свои необработанные данные в лист A!A1
, необработанные данные содержат как текст, так и цифры и символы unsable , которые используются в формуле разделения для определения столбцов.
I Затем я использую скрипт транспонирования, чтобы перетащить эти данные на лист B, вставив данные горизонтально +1 в последнюю строку.
Моя проблема заключается в том, что при разделении данных мой определяющий символ - ]
или [
- это хорошо работает, однако товар, записанный в продаже, не отделяется от количества - он остается следующим Item xQuantity#
. Если я изменю разделитель на #x
, это приведет к разбивке текста сценария, который содержит букву x, а также к выполнению желаемой функции разбиения «Item xQuantity» на «Item, Количество»
Любые предложения будут будьте полезны!
Данные должны быть уточнены только до читаемых значений, а затем заархивированы во вспомогательный лист
По запросу, некоторые примеры данных:
Это вставлено в SheetA! A1:
Общая стоимость $ 4 864 910. Разбивка по предмету: [Сумка шоколадных поцелуев x200 @ 450 = 90,000] [Коробка тканей x1 @ 300 = 300] [Куртка x66 @ 200 = 13,200]
Приведенные выше данные могут быть где угодно от 1 строка текста, до 100+ строк в одной ячейке.
Затем я использую приведенную ниже формулу, чтобы удалить ненужные символы, и разделю ее на нужные столбцы:
=SPLIT( REGEXREPLACE(Front!A3,"^A-Za-z+]. Breakdown per item:, x#"," "),"[]@=")
Я сейчас использую это позволяет перетащить данные в архивный лист, после его уточнения:
function CaptureData() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("Back!8:8");
var destSheet = ss.getSheetByName("Data");
var destRange = destSheet.getRange(destSheet.getLastRow()+1,1);
source.copyTo (destRange, {contentsOnly: true});
}
На рисунке ниже показан архивный лист с желаемыми выходными данными. Обратите внимание, что на снимке экрана в настоящее время показана проблема, с которой я столкнулся.
Архив