Как переключиться между 2 рабочими листами в Google sheet?

#javascript #google-apps-script #multidimensional-array #google-sheets-formula

Вопрос:

Я хочу написать код, который может отображать все данные в базе данных одного рабочего листа на другом рабочем листе. Код, который я пишу:

    function myFunction() {
        var as = SpreadsheetApp.getActiveSpreadsheet();   //WorkSheet need to Vlookup 
        var az = SpreadsheetApp.openById("1tnLn-E-03-Pt0ts6x_j-1MzWmuMJ8NyGoX810uk3a0Y");  //Worksheet 's data for vlookup
        var Sheet1 = as.getSheetByName("Sheet 1"); // Sheet need Vlookup
        var Sheet0 = az.getSheetByName("Sheet 0"); // Sheet has data for Vlookup
        var a = Sheet1.getLastRow();
        var b = Sheet0.getLastRow();
        var data = Sheet0.getRange(1,1,a,8).getValue();
        var searchkey = Sheet1.getRange(1,1,b,1).getValue();
          for (var j = 1; j<=b;j  ) {
              for (var i = 1; i<=a;i  ){
                 if(searchkey[j][0]==data[i][0]);
                      return Sheet1.getRange(j 1,5) = data[i][4]; 
                    //If correct "E4" at Vlookup sheet = "E4" at data sheet
                 } else { 
                 catch(e) // If wrong coutinue next For Loop
                 }
                }
               }    
 

Но это не работает. Я совершенно новичок в сценарии приложений Google, поэтому надеюсь, что вы, парень, дадите мне несколько советов по этой ситуации.

Большое вам спасибо

Комментарии:

1. Пожалуйста, предоставьте образец листа с ожидаемым результатом. Поделитесь тестовым листом

Ответ №1:

Поскольку вы используете тег: google-таблицы-формула, я даю ответ, используя стандартную формулу в одну строку.

Предположим, что исходный лист (лист1) содержит ключи в столбце A и значения в столбцах B C D

Лист результатов 2 содержит ключи в столбце A, и вам нужны все соответствующие значения из столбцов B C D с первого листа.

В B1 листа 2 вы пишете:

 =ifna(arrayformula(vlookup(A:A,Sheet1!A:D,{2,3,4},false)))
 

=arrayformula(vlookup(A:A,лист1!A:D,{2,3,4},ложь))

ifna — оставляет пустым, если значение не найдено

vlookup в arrayformula делает vlookup для всего столбца A и пытается найти соответствующие значения

{2,3,4} — это список индексов столбцов (из диапазона Sheet1!A:D), которые будут отображаться с помощью vlookup.

значение false в конце означает, что вы ищете точное значение ключа

И это исходная таблица в Листе1

введите описание изображения здесь

Это то, что вы искали?