间接(地址(...'名称'问题

间接(地址(...'名称'问题

我有一个名为“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

相关内容