Python生成器函数 - 是否有excel等价物?

时间:2016-10-24 05:36:50

标签: python excel generator

我希望在Excel中运行大量的数字,并且需要该程序尽可能地为其他人访问。

我想仅保留电子表格Excel(可能是VBA),但有相当于Python的生成器,还是Excel中的yield函数?

即。

gen = (x for x in range(10))

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,如果你能准确地描述你在Excel中想要做什么,那将是件好事。

Excel可以执行数组公式。在这些数组公式中,我们可以使用ROWCOLUMN函数来获取连续整数的数组。

例如:

{=SUM(ROW(1:10))}

以[Ctrl] + [Shift] + [Enter]作为数组公式输入,将计算从1到10的整数之和。

要输入数组公式,请将公式输入到没有卷曲括号的单元格中,然后按[Ctrl] + [Shift] + [Enter]进行确认。然后会自动显示花括号。

或者使用VBA:

Sub test()

 Dim gen As Variant

 gen = [{0,1,2,3,4,5,6,7,8,9}] 
 ' gen is now an Array Variant(1 to 10) containing integers 0 to 9

 gen = [ROW(1:10)-1] 
 ' gen is now an Array Variant(1 to 10, 1 to 1) containing integers 0 to 9

 For Each i In gen

  MsgBox i

 Next

 Erase gen ' free the memory used by gen

End Sub

将从0循环到9。