Как найти элемент и получить строку или столбец - PullRequest
0 голосов
/ 14 марта 2020

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

Сценарии приложений?

table where search value and return row or column

Я нашел простой способ с формулами:

Для X = INDEX ( $ A $ 1: $ F $ 2, MIN (IF (B2: F6 = "31", MATCH (COLUMN (B2: F6), COLUMN (B2: F6)), "")))

Для Y = ИНДЕКС ($ A $ 1: $ F $ 2, MIN (ЕСЛИ (B2: F6 = "31", МАТЧ (ROW (B2: F6), ROW (B2: F6)), "")))

Кто-нибудь знает, как обращаться со скриптами приложений Google?

1 Ответ

2 голосов
/ 14 марта 2020

Вы можете реализовать приведенный ниже код с помощью пользовательского меню , оно подскажет номер, который вы хотите найти, и покажет результаты:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
      .addItem('Search', 'lookUp')
      .addToUi();
}

function lookUp() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getActiveSheet();
  const rg=sh.getDataRange();
  const vs=rg.getValues();
  const r=SpreadsheetApp.getUi().prompt("Search", "Enter Number", SpreadsheetApp.getUi().ButtonSet.OK);
  const v=r.getResponseText();
  vs.forEach(function(r,i){
    r.forEach(function(c,j){
      if(c==v) {
        SpreadsheetApp.getUi().alert(Utilities.formatString('row name:%s,col name: %s',vs[i][0],vs[0][j]));
      }
    });
  });
}

Если вы хотите вставить значения в листе, вы можете использовать setValue метод.

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