Как не разработчик, может ли кто-нибудь посоветовать сценарий, который я мог бы использовать, чтобы скрыть 3 ячейки на основе того, что говорит одна ячейка? См. пример электронной таблицы здесь.. Я хотел бы скрыть 3 синие ячейки, если используемая формула выдает «ИСТИНА», в противном случае, если она имеет нормальное значение, я хотел бы, чтобы ячейки оставались в том виде, в котором я их отформатировал. Любой совет будет принят во внимание. У меня есть опыт работы с VBA, но я немного медленно разбираюсь в скриптах Google. (Любые рекомендации по курсам, которые я мог бы пройти?)
Большое спасибо за все дельные советы здесь! Чрезвычайно полезно для новичка, как я.
Привет @TheWizEd, я очень хотел сделать клетки. Но это объясняет, почему я нигде не мог найти ничего о скрытых ячейках. Большое спасибо за ответ.
Думаю, я просто сделаю копию, а затем удалю ячейки вместо того, чтобы скрывать их. Или открыты для любых других предложений?
Что вы могли бы сделать, так это иметь дубликат листа со всеми значениями. Если основной лист верен, скопируйте значения в дубликат, а затем удалите содержимое ячеек основного листа. Если false, восстановите значения из дублирования. Не уверен, насколько динамична ваша электронная таблица. Это можно сделать с помощью триггера onEdit(e).
Я собираюсь сделать это. Большое спасибо за совет и помощь.
Как упоминалось в TheWizEd, невозможно одновременно скрыть ячейки и оставить другие ячейки в одной строке, однако, используя решение с двумя листами, вы можете попробовать что-то вроде этого тестовый лист, который я сделал.
Следуя логике, согласно которой в зависимости от значения определенной ячейки строка будет скрыта, вы можете попробовать применить ее к вашему конкретному сценарию. В моем случае я использовал значение Yes/No
, чтобы скрыть всю строку:
При выборе Yes
строка в Sheet2
будет скрыта.
Это используемый скрипт:
var sheet = "Sheet1";
var editingsheet = "Sheet2";
var val = "Yes";
var column = 3;
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = SpreadsheetApp.getActiveSheet();
var editingss = ss.getSheetByName(editingsheet);
if (sheet == activeSheet.getName()){
var cell = ss.getActiveCell();
var cellnotation = cell.getA1Notation();
var cvalue = cell.getValue();
if (cell.getColumn() == column){
if (cvalue == val){
var range = editingss.getRange(cellnotation);
editingss.hideRow(range);
}
}
}
}
И вот результат, который я получаю, выбирая Yes
на забавных элементах 1 и 12:
Вы имеете в виду скрыть строки? Невозможно скрыть ячейки и оставить видимыми другие ячейки в этой строке.