将 Excel 公式的结果用作另一个公式中的单元格索引器

将 Excel 公式的结果用作另一个公式中的单元格索引器

我有一个基本公式:

=(RANDBETWEEN(1,20))

它给了我一个值,我想要做的是获取该值(为了参数“12”)并使用它通过另一个公式获取另一个单元格,即

=(RANDBETWEEN(1, B<result>))

其中B是列,<result>是第一个公式的结果。

可以这样做吗?(我使用的是 Excel 2013)

答案1

尝试使用 INDEX,因此如果单元格 D1 中有=RANDBETWEEN(1,20)公式,则可以在另一个单元格中使用此公式

=RANDBETWEEN(1,INDEX(B:B,D1))

如果第一个公式返回 12,则 INDEX 部分将返回 B12 的值

如果您不想在单元格中使用第一个公式,则可以直接在第二个公式中使用它,如下所示:

=RANDBETWEEN(1,INDEX(B:B,RANDBETWEEN(1,20)))

答案2

您可以制作一个 Excel 宏来解决此问题。

  • 单击功能区中的“查看”选项卡。
  • 点击“宏”。
  • 输入RandomCell,然后单击“创建”。

当 VBA 窗口打开时,将此代码直接粘贴到Sub RandomCell

Dim Low As Double
Dim High As Double
Dim R As Double
Low = 1
High = 20
R = Int((High - Low + 1) * Rnd() + Low)
ActiveCell.Offset(R, 1).Select

如果您在单元格 A1 中,这将选择单元格 B[随机数]。保存工作簿并关闭 VBA 窗口。通过执行以下操作运行宏:

  • 单击功能区中的“查看”选项卡。
  • 点击“宏”。
  • 选择“RandomCell”并单击“运行”。

相关内容