我有一个名为“select”的范围,其中包含随机数=ROUND(RAND()*8+0.5,0)
- 这些代表 8 个人。在其他地方,我使用以下公式从这些随机数中随机选择。
INDIRECT(ADDRESS(RANDBETWEEN(ROW(select),ROW(select)+ROWS(select)-1),RANDBETWEEN(COLUMN(select),COLUMN(select)+COLUMNS(select)-1)))
这很好用仅有的在工作表中定义了“select”。它在工作簿中的其他工作表中不起作用。“Select”设置为在工作簿中使用。我遗漏了什么?
答案1
您拨打的是ADDRESS(n, m)
n
是(随机)行号,m
是列号。该ADDRESS()
函数只能看到这两个数字;它看不到它们来自ROW(select)
和COLUMN(select)
;所以它只生成一个地址字符串,如$Q$42
;它不知道用工作表在哪里来限定它select
。您需要将ADDRESS
调用更改为类似
地址((行号),(列号),,,(工作表名称))
例如,
ADDRESS(RANDBETWEEN(ROW(select),ROW(select)+ROWS(select)-1),RANDBETWEEN(COLUMN(select),COLUMN(select)+COLUMNS(select)-1),,, "Sheet2")
如果select
是开启的Sheet2
。