Как преобразовать одну строку во множество значений, а затем использовать формулы? - PullRequest
0 голосов
/ 03 марта 2020

Как скрипт, я хочу, чтобы "setFormulas" работал

var ss = SpreadsheetApp.getActiveSpreadsheet()
var s1r = ss.getSheetByName("sheet1").getRange("D5:K28")
var s2r = ss.getSheetByName("sheet2").getRange("D5:K28")
var s0rv = ss.getSheetByName("sheet0").getRange("D5:K28").getValues()

    s1r.setFormulas("=IFERROR(sheet2!" + s0rv + ")")
    s2r.setFormulas("=IFERROR(sheet1!" + s0rv + ")")

с этим скриптом, как нам сделать "= IFERROR (sheet #!" + ... + ")" преобразованным в та же строка, что и многие значения

... setFormulas (... getValues ​​()) Я считаю, это работает просто отлично. Но если мы работаем с единственной строкой, возможно ли это?

Извините за неясный вопрос, более того, я только что понял, что ошибка "возвращайся до сих пор" (#REF) в любом случае может подойти для меня. , и

getvalues ​​() из

Get values from Sheet0 Я просто хочу установить формулы так:

Want to get the result like this, sheet 1 Want to get the result like this, sheet 2

1 Ответ

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

Используйте Array.map, чтобы разложить значения и изменить формулу:

s1r.setFormulas(s0rv.map(row => row.map(ref => ref ? "=IFERROR(sheet2!" + ref + ")" : null )));
s2r.setFormulas(s0rv.map(row => row.map(ref => ref ? "=IFERROR(sheet1!" + ref + ")" : null )))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...