如何在 Excel 中过滤列表并随机选择其中一条结果记录?

如何在 Excel 中过滤列表并随机选择其中一条结果记录?

我想随机选择一个符合特定条件的名称。例如,请参见图片:

在此处输入图片描述

如何使用提供的条件过滤列表(每个列表与其他列中的相关数据),然后随机选择一条记录?

如果需要,我可以使用 VB,而不受单元格中公式的限制。

答案1

目前最好的结果是:

  • 数据 -> 在列表中启用过滤器
  • 使用VBA设置过滤条件:

    Sheets(mySheet).Range(myRange).AutoFilter Field:=2, Criteria1:="<>" & myValue

  • 仅将可见单元格复制到另一个位置:

    Sheets(mySheet).Range(myRange).SpecialCells(xlCellTypeVisible).Copy Sheets(myNewSheet).Range(myNewRange).PasteSpecial Paste:=xlValues

  • 从结果列表中随机选择一个单元格:

    =INDEX('myNewSheet'!myNewRange;RANDBETWEEN(1;COUNTA('myNewSheet'!myNewRange)))

相关内容