Как посчитать количество строк между точкой с запятой в ячейке с помощью скрипта google sheet - PullRequest
0 голосов
/ 11 января 2019

В Google Sheet у меня есть ячейки с несколькими данными в одной ячейке (например: "abc; def; 4f5").

Я хотел бы сделать СЦЕНАРИЙ (без формулы), который позволил бы мне узнать, сколько слов в ячейке разделено точкой с запятой.

Пример:

"abc; def; 4f5" ==> 3

"abc; def" ==> 2

"ABC;" ==> 1

"abc" ==> 1

"abc;def;;" ==> 2

Прошло уже 2 дня, и я не могу найти код, который может это сделать.

Кто-нибудь может понять, как это сделать, пожалуйста.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Или как пользовательская функция. Допустим, в ячейке A1 у вас есть первый случай «abc; def; 4f5», затем в ячейке B1 поместите формулу = splitString (A1). Значение будет 3. Однако, если между словами есть пробелы, оно будет засчитано.

function splitString(string) {
  var array = string.split(";");
  if( array.length > 0 ) {
    while( array[array.length-1].trim() === "" ) {
      array = array.slice(0,array.length-1);
      if( array.length === 0 ) break;
    }
  }
  return array.length;
}
0 голосов
/ 11 января 2019

Я не совсем уверен, с каким аспектом у вас возникла проблема, но может помочь следующее:

function counter() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheets()[0];         // Get the first worksheet.
  var range = sheet.getRange('A1:A1');   // Get the content of the first cell "abc; def; 4f5"
  range.activate();
  var content = range.getValue();
  content = content.replace(/;+/g, ';'); // strip double ;;
  var count = content.split(';').length;
  Logger.log("The content %s has %s words seperated by semicolons.", content, count);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...