Google-Sheet - запросить несколько неизвестных листов? - PullRequest
1 голос
/ 07 января 2020

Контекст: мне нужно разработать Google Sheet для управления ежегодными расходами и доходами от благотворительной организации, в которой я работаю волонтером. Этот файл будет обновляться добровольцами, поэтому мне нужно разработать структуру, которую они могли бы использовать с легкостью.

Моя идея:

  • иметь передний лист с краткой информацией о деятельности и диаграммы
  • позволяют волонтерам продублировать шаблонную стоимость и доход от мероприятия и добавить свои c & r

Результат будет иметь столько же листов, сколько и событий / благотворительных мероприятий или мероприятий по сбору средств / кампании.

Но, поскольку количество листов неизвестно до конца года, как я могу получить сводный лист?

EG Как я могу суммировать все затраты и все обороты? Могу ли я запросить для поиска во ** всех существующих листах ячейку, которая следует за точной строкой (например, Total Rev)? **

Ответы [ 2 ]

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

Я бы порекомендовал добровольцам вообще ничего не заполнять на листе.

Вы можете забрать все необходимое у добровольцев через форму Google. Эта форма будет сбрасывать все данные в одну вкладку в листах Google, с которой будет легко анализировать и обобщать данные, которые вы хотите увидеть, и поделиться ими со всей командой.

0 голосов
/ 08 января 2020

Вы можете написать Apps Script - сервис Google Script, основанный на Javascript

. Его относительно легко изучить и использовать, и он позволит вам динамически l oop через все листы, не зная заранее, сколько их будет.

Следующий пример сценария выполняет итерации по всем листам минус главный лист электронной таблицы, к которой он привязан, и суммирует значения ячеек "A10" (если это ячейка, в которой у вас есть расходы) вместе. Наконец, он устанавливает значение суммы в ячейку «A10» для мастер-листа.

function myFunction() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sheets=ss.getSheets();
  var sum=0;
  for (var i=0; i<sheets.length; i++){
    if(sheets[i].getName()!="Master"){
      var value=sheets[i].getRange("A10").getValue();
      sum=sum+value;
    }
  }
  ss.getSheetByName("Master").getRange("A10").setValue(sum);
}

Если вы потратите некоторое время на ознакомление со скриптом Apps, вы сможете легко адаптировать приведенный выше пример. к вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...