В листах Google вы можете разбить строку на подстроки, выполнить вычисления для подстрок и объединить результаты в разных ячейках - PullRequest
0 голосов
/ 23 июня 2019

У меня есть ячейка в гугл листах с записью 20/40/40.Я хотел бы создать формулу, которая будет разбивать строку на подстроки 20, 40, 40, например, s1, s2, s3 = 20, 40, 40. Затем я хотел бы выполнить различные числовые вычисления для каждой из подстрок, чтобы получить3 переменные, например, v1, v2, v3 = номер ячейки * (s1 / (100 * 4)), номер ячейки * (s2 / (100 * 4)), номер ячейки * (s3 / (100 * 9)), причем номер ячейки относится кссылка на ячейку, содержащую числовое значение.

Затем я хотел бы объединить эти значения в новую ячейку в том же формате, что и исходная ячейка, например, ячейка A5 будет выглядеть как v1 / v2 / v3.

Я хотел бы сделать этопотому что значения s1, s2, s3 будут меняться, и я должен выполнить этот расчет несколько раз.Если я расширю свою таблицу, она станет нечитаемой, и единственное другое решение - создать другую таблицу с вариациями s1, s2 и s3, которые мне нужно использовать, и каким-то образом объединить результаты формул, использованных для этих переменных подстроки, чтобы получить v1 / v2/v3.

Я совершенно новичок в Google листах и ​​javascript и совершенно не знаю, как это сделать.Я начал пытаться создать свою собственную функцию, но я не уверен, как подойти к ней в javascript.

1 Ответ

1 голос
/ 23 июня 2019

A1:

20/40/40

B1: (номер ячейки)

5

C1:

=ARRAYFORMULA(JOIN("/",B1*(SPLIT(A1,"/")/{100*4,100*4,100*9})))
  • SPLIT A1 по /чтобы получить номера.20|40|40
  • / Разделите его на массив из 100. 20/400|40/400|40/900
  • * Умножьте cell_number B1.5*20/400|5*40/400|5*40/900
  • JOIN результат обратно с /
...