Объединить данные вкладки Google лист - PullRequest
1 голос
/ 23 октября 2019

В настоящее время у меня есть информация на 12 вкладках для продуктов, каждая из которых представляет месяц

Можно ли как-то импортировать эту информацию, как она добавлена, в другой лист, содержащий все данные за год?

Я пытался использовать importrange (), но проблема заключалась в том, что массивы перекрывались, давая следующее сообщение об ошибке

Array result was not expanded because it would overwrite data in A95.

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

1 Ответ

0 голосов
/ 24 октября 2019

Самый простой способ, который мне приходит в голову, - это иметь «глобальную» вкладку, а затем каждую ежемесячную вкладку запрашивать данные из нее. Для этого формула, которую вы можете использовать, будет выглядеть следующим образом (с учетом вашего примера):

=QUERY(Total!A2:F7, "select * where MONTH(B)+1=6")

Эта команда будет фильтровать строки с датой в июне.

В противном случае, если вы предпочитаете иметь «глобальную» вкладку, построенную из ежемесячных вкладок, вы можете использовать пользовательскую функцию GAS, такую ​​как:

function MYFUNC() {
  var sheets = SpreadsheetApp.getActive().getSheets();
  var numSheets = sheets.length;
  var result = [];
  for (var i=0; i<numSheets-1; i++) {
    var sheet = sheets[i];
    var dataRange = sheet.getDataRange();
    // Remove header from the datarange
    dataRange = dataRange.offset(1, 0, dataRange.getHeight()-1);
    result = result.concat(dataRange.getValues());
  }
  return result;
}

Это импортирует и объединяетданные со всех листов, кроме последнего (всего) и объединить его. Вы просто должны установить его следующим образом:

example sheet

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