我有一个包含大约 500,000 行数据的 Excel 电子表格,而 Microsoft Excel 最多只能有 32,000 行,因此我使用随机数生成器生成了 32,000 个从 1 到 500,000 的随机数。对我来说,最简单的方法是什么是仅使用与我生成的 32,000 个随机数相对应的行来创建图表?
我绝对不想手动删除除了我想要的 32,000 行之外的每一行......
答案1
假设你的随机数在 E 列。然后新建一个列,其中的公式
=IF(ISERROR(MATCH(ROW(),E$1:E$32000,0)),2,1)
填充到最后一行,将用 1 标记与随机数匹配的行,用 2 标记所有其他行。
然后,您可以根据包含 1 和 2 的列对所有数据进行排序(升序)。您想要绘制图表的数据将位于前 32,000 行中,因此如果您不想删除任何行,则无需删除。
通过选择前 10 行(例如)来创建图表。然后编辑数据范围(在“图表”>“源数据...”下)并将 $B$1:$B$10(例如)更改为 $B$1:$B$32000。
编辑:我很高兴我测试了这一点。升序排序工作正常,但包含 1 和 2 的列随后被重新计算,这有点令人困惑。如果您想查看原始的 1 和 2,请复制该列并使用“选择性粘贴”>“值”,以防止数字发生变化。大概,您也必须对随机数执行此操作,以防止它们被重新计算。
公式的工作原理:Match() 尝试在随机数列表中查找当前行号。如果找不到匹配项,它将返回 #N/A 错误,这会使 ISERROR() 为 True,因此 IF() 返回 2 作为结果。如果匹配是发现,MATCH() 返回一个数字,而 ISERROR() 返回 False,所以 IF() 返回 1。