如何在GAS中制作简单的“FOR”公式

时间:2016-02-01 15:15:25

标签: google-apps-script google-sheets

我需要一个简单的(我相信很简单)公式才能在我的谷歌电子表格中使用(因此它必须在GAS中) 我有2列 - 第一列是NAMES,另一列是NUMBERS。 我需要函数用NAMES填充另一列,与其相应的NUMBER一样多次。

所以我有类似的东西:

  • 彼得2
  • 马克1
  • Alexander 3

函数需要填充如下列:

  • 彼得
  • 彼得
  • 标记
  • 亚历山大
  • 亚历山大
  • 亚历山大

我尝试用公式做,但是做了。我对GAS完全不熟悉,所以我也不能根据我在stackoverflow上发现的类似事情来做这个。

2 个答案:

答案 0 :(得分:1)

Working example

公式为split(join("",arrayformula(rept(A2:A5&",",B2:B5))),",")

其中

  • rept(A2:A5&",",B2:B5)追加","到A值,然后重复B次
  • arrayformula(rept(...))通过所有值重复公式
  • join("",arrayformula)使用空("")分隔符
  • 加入列表
  • split(join(...)))将列表分解为数组

答案 1 :(得分:0)

对于 A B 列中的数据,请尝试:

Sub Relist()
   Dim N As Long, K As Long
   Dim i As Long, j As Long, ii As Long

   K = 1
   N = Cells(Rows.Count, "A").End(xlUp).Row
   For i = 1 To N
      v = Cells(i, 1).Value
      j = Cells(i, 2).Value
      For ii = 1 To j
         Cells(K, 3).Value = v
         K = K + 1
      Next ii
   Next i
End Sub

enter image description here