【发布时间】:2021-05-12 08:52:09
【问题描述】:
是否可以在不执行循环的情况下在 excel 中获取大表中的行位置? 我要做的是点击一个特定的 ID,然后来自同一 ID 的最后 3 条记录将显示在 UI 中。
我是编程初学者,除了循环方法之外不知道如何执行此操作(考虑到我们在用户的每次单击中循环一个包含 100k 行的大型且不断增长的表,这是非常资源和内存密集型的)。
例如:如果用户点击“A123”,那么我们知道他们的行位置是:5、8、10
【问题讨论】:
-
如果你有 100k 行,你应该考虑使用 SQL 数据库,这很容易实现。 • 在 Excel 中,您可以使用过滤器来过滤
A123,但如果不循环,您仍然无法获得前 3 个。 -
@PEH - 不幸的是,我们没有使用 SQL 数据库的选项...对于您使用过滤器的建议,是否可以循环过滤表?您能否展示一些有关如何执行此操作的示例代码?谢谢!
-
那么过滤器、循环或电源查询是您的选择,我猜。看看它并尝试一下。
-
不完全相同,但也许可以接受的折衷方案是添加一个带有“=row()”的辅助 col 并使用切片器在数据透视表中显示信息。甚至可以通过将源添加到数据模型来提高性能。
标签: excel vba loops search match