Size: a a a

Чат | Google Таблицы и скрипты

2020 February 27

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Dmitry Ozhigin
Всем привет, у меня есть задача, когда нужно будет сущности присваивать параметры. Дело в том, что есть параметр, которому сущность может иметь несколько значений.

Можно сделать просто несколько столбцов на значения одного параметра, а можно ли сделать так, чтобы все отображалось в одном столбце. И чтобы потом была возможность сортировки.

Более предметно:
Есть список приложений из определённой группы. У них есть список фич,

Приложение | Фичи |

Вот хочется чтобы ячейка фичи могла отображать наличие фич у Приложения. Дропдаун тут не подходит, нужно что-то близкое к чекбоксу
Извини, конечно,  мы хотели бы взять одного ясновидящего, который смог бы, без примера таблиц, остальным участникам чата донести мысль авторов сообщений, но дороговато выходит.
Может, пока что, пример сделаешь того что хочешь? А хочешь айда в ясновидящие?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Dmitry Ozhigin
Всем привет, у меня есть задача, когда нужно будет сущности присваивать параметры. Дело в том, что есть параметр, которому сущность может иметь несколько значений.

Можно сделать просто несколько столбцов на значения одного параметра, а можно ли сделать так, чтобы все отображалось в одном столбце. И чтобы потом была возможность сортировки.

Более предметно:
Есть список приложений из определённой группы. У них есть список фич,

Приложение | Фичи |

Вот хочется чтобы ячейка фичи могла отображать наличие фич у Приложения. Дропдаун тут не подходит, нужно что-то близкое к чекбоксу
Дима, привет, нарисуй нам где-нибудь, что хочешь получить.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Я примерно понял, но надо убедиться.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Роман Игнатов
Извини, конечно,  мы хотели бы взять одного ясновидящего, который смог бы, без примера таблиц, остальным участникам чата донести мысль авторов сообщений, но дороговато выходит.
Может, пока что, пример сделаешь того что хочешь? А хочешь айда в ясновидящие?
источник

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Вангуешь, потихоньку.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Роман Игнатов
Вангуешь, потихоньку.
Запрос похож на старый скрипт Саши Иванова, appendit
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Помнишь его?
источник

DO

Dmitry Ozhigin in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Дима, привет, нарисуй нам где-нибудь, что хочешь получить.
https://docs.google.com/spreadsheets/d/1HhZQ0ghNmnyW57SFKTL0wKghE-wtHqoRz-YLeCjU6EA/edit#gid=0

Столбец features это как раз поле с множеством параметров
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Переслано от Alexander Ivanov
Задача мультисписков существует давно. Но решения в Таблицах пока не предвидится. https://www.youtube.com/watch?v=OAyIYfw0YtI
источник

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Принцип понятен. onEdit(e) e.oldValue, e.Value. Но возможности сортировки по каждой фиче не будет.
источник

AF

Andrii Fishman in Чат | Google Таблицы и скрипты
Andrii Fishman
Очень странный кейс
=query(db!$B$3:$AZ$528; "select C, E  where (D = "&$C4&") and (F contains '"&$D4&"') and (B contains '"&B4&"')";)
И все работает хорошо до тех пор пока в столбцах B не появляеться микс цифр и букв - 11MBR.
С цифрами работает норм.
Только добавляю букву - нет соотвествия.
При том что среднее условие работает и в данных есть и буквы и цифры.
Не подскажете в чем может быть проблема?
Решение оказалось странным.
Не может быть в столбце, к которому применяеться условие contains '"&B1&"', одновременно находится данные типа "1111" и данные типа "АА 1111".

Добавил ко всем значениям с только цифрами по букве и стало все ок
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Andrii Fishman
Решение оказалось странным.
Не может быть в столбце, к которому применяеться условие contains '"&B1&"', одновременно находится данные типа "1111" и данные типа "АА 1111".

Добавил ко всем значениям с только цифрами по букве и стало все ок
По этому поводу
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Друзья, сегодня пост про проблему функции QUERY: если в ваших данных в одном столбце соседствуют числовые и текстовые значения, то текстовые данные могут исчезнуть при выводе.

Смотрите скриншот: зарплата Людмилы ("большая") просто не отображается.

Если вы примените к столбцу зарплаты в исходных данных текстовый формат - то отобразится все, но числовые значения перестанут быть числами, а станут текстом и их нельзя будет просуммировать.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Как это обойти: в таких случаях, а также, когда не получается работать с датами, пользуйтесь функцией FILTER.

Напомню: столбцы условия не обязательно должны быть в столбцах, предназначенных для вывода (см. формулу на скриншоте ниже)

P.S. А еще FILTER можно совместить с IMPORTRANGE, пробуйте
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Andrii Fishman
Решение оказалось странным.
Не может быть в столбце, к которому применяеться условие contains '"&B1&"', одновременно находится данные типа "1111" и данные типа "АА 1111".

Добавил ко всем значениям с только цифрами по букве и стало все ок
Не важно, какое ты условие применяешь к столбцу. Если он определился с числовым типом данных - все текстовые ячейки из него пропадут.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Функция приведет данные к одному виду, то есть оставит одни числа.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
#решение

QUERY. Любой формат исходных данных.

QUERY капризен к формату данных в источнике, если в одном столбце и числа и текст (они не отобразятся).

Решение - принудительно изначально в данных превратить целиком в TO_TEXT (текстовый формат)

=QUERY( ArrayFormula(TO_TEXT(A:A)) )

В тему:
https://t.me/google_spreadsheets_chat/83772
источник

ЖА

Жасурбек Абдурайимов... in Чат | Google Таблицы и скрипты
Всем добрый вечер! Мы сделали! ура  xml  читалку через программу sms backup + JavaScript на Google таблицу
function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet(),
     s = ss.getActiveSheet();
 
 var options = {
   'muteHttpExceptions': true
 };
 
//  var data = UrlFetchApp.fetch("ваша ссылка", options).getContentText();
 var data = UrlFetchApp.fetch("Ваша ссылка", options).getContentText();
 var xmlDocument=XmlService.parse(data);
 var root=xmlDocument.getRootElement();

 var smses=root.getChildren("sms");
 var bodyArr;
 for (var i = 0; i < smses.length; i++) {
   var address = smses[i].getAttribute('address').getValue();
   var read_date = smses[i].getAttribute('readable_date').getValue();
   var body = smses[i].getAttribute('body').getValue();
//    var categoryElements = entries[i].getChildren('category', atom);
//    var labels = [];
//    for (var j = 0; j < categoryElements.length; j++) {
//      labels.push(categoryElements[j].getAttribute('term').getValue());
//    }
   bodyArr = body.split(" ");
   s.getRange('A' + (i+1)).setValue(read_date);
   s.getRange('B' + (i+1)).setValue(body);
   s.getRange('C' + (i+1)).setValue(bodyArr[bodyArr.length-1].split("'").join("").replace('.',','));
 }
 var lastRow = s.getLastRow();
 var lastCell = s.getRange(lastRow, 3);
 
 s.getRange('E1').setValue(lastCell.getValue());
 Logger.log(lastCell.getValue());
//  Logger.log(s.getLastRow().getRange());
//  Logger.log(keywords);
}
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Жасурбек Абдурайимов
Всем добрый вечер! Мы сделали! ура  xml  читалку через программу sms backup + JavaScript на Google таблицу
function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet(),
     s = ss.getActiveSheet();
 
 var options = {
   'muteHttpExceptions': true
 };
 
//  var data = UrlFetchApp.fetch("ваша ссылка", options).getContentText();
 var data = UrlFetchApp.fetch("Ваша ссылка", options).getContentText();
 var xmlDocument=XmlService.parse(data);
 var root=xmlDocument.getRootElement();

 var smses=root.getChildren("sms");
 var bodyArr;
 for (var i = 0; i < smses.length; i++) {
   var address = smses[i].getAttribute('address').getValue();
   var read_date = smses[i].getAttribute('readable_date').getValue();
   var body = smses[i].getAttribute('body').getValue();
//    var categoryElements = entries[i].getChildren('category', atom);
//    var labels = [];
//    for (var j = 0; j < categoryElements.length; j++) {
//      labels.push(categoryElements[j].getAttribute('term').getValue());
//    }
   bodyArr = body.split(" ");
   s.getRange('A' + (i+1)).setValue(read_date);
   s.getRange('B' + (i+1)).setValue(body);
   s.getRange('C' + (i+1)).setValue(bodyArr[bodyArr.length-1].split("'").join("").replace('.',','));
 }
 var lastRow = s.getLastRow();
 var lastCell = s.getRange(lastRow, 3);
 
 s.getRange('E1').setValue(lastCell.getValue());
 Logger.log(lastCell.getValue());
//  Logger.log(s.getLastRow().getRange());
//  Logger.log(keywords);
}
Ну это неплохо. А что такое смс-читалка?
источник